/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/loops-crafted-1/watermelon.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:30:39,250 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:30:39,252 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:30:39,302 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:30:39,302 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:30:39,303 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:30:39,306 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:30:39,309 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:30:39,310 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:30:39,314 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:30:39,315 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:30:39,316 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:30:39,316 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:30:39,318 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:30:39,319 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:30:39,322 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:30:39,323 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:30:39,323 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:30:39,326 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:30:39,330 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:30:39,331 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:30:39,332 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:30:39,333 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:30:39,333 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:30:39,334 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:30:39,336 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:30:39,336 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:30:39,336 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:30:39,337 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:30:39,337 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:30:39,338 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:30:39,338 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:30:39,338 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:30:39,339 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:30:39,339 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:30:39,340 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:30:39,340 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:30:39,341 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:30:39,341 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:30:39,341 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:30:39,342 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:30:39,346 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:30:39,347 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:30:39,360 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:30:39,361 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:30:39,362 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:30:39,362 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:30:39,362 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:30:39,362 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:30:39,362 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:30:39,362 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:30:39,363 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:30:39,363 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:30:39,363 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:30:39,364 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:30:39,364 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:30:39,364 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:30:39,365 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:30:39,365 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:30:39,365 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:30:39,365 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 10:30:39,603 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:30:39,630 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:30:39,632 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:30:39,633 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:30:39,634 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:30:39,635 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops-crafted-1/watermelon.c [2022-04-08 10:30:39,687 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/098da7c0b/d58b8d3d0f1e4c11afd8e054bbd40e19/FLAG668645c71 [2022-04-08 10:30:40,033 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:30:40,034 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/watermelon.c [2022-04-08 10:30:40,040 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/098da7c0b/d58b8d3d0f1e4c11afd8e054bbd40e19/FLAG668645c71 [2022-04-08 10:30:40,433 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/098da7c0b/d58b8d3d0f1e4c11afd8e054bbd40e19 [2022-04-08 10:30:40,435 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:30:40,436 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:30:40,438 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:30:40,439 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:30:40,442 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:30:40,443 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,443 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17b6c7c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40, skipping insertion in model container [2022-04-08 10:30:40,444 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,449 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:30:40,461 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:30:40,625 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/watermelon.c[373,386] [2022-04-08 10:30:40,663 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:30:40,677 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:30:40,689 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/watermelon.c[373,386] [2022-04-08 10:30:40,708 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:30:40,719 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:30:40,720 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40 WrapperNode [2022-04-08 10:30:40,720 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:30:40,721 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:30:40,721 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:30:40,722 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:30:40,730 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,730 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,736 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,736 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,749 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,756 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,761 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,764 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:30:40,765 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:30:40,765 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:30:40,765 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:30:40,766 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (1/1) ... [2022-04-08 10:30:40,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:30:40,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:40,796 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 10:30:40,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 10:30:40,842 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:30:40,843 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:30:40,843 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:30:40,843 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:30:40,843 INFO L138 BoogieDeclarations]: Found implementation of procedure correct_version [2022-04-08 10:30:40,844 INFO L138 BoogieDeclarations]: Found implementation of procedure student_version [2022-04-08 10:30:40,844 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:30:40,844 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:30:40,844 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:30:40,844 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:30:40,844 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:30:40,844 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 10:30:40,845 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:30:40,845 INFO L130 BoogieDeclarations]: Found specification of procedure correct_version [2022-04-08 10:30:40,846 INFO L130 BoogieDeclarations]: Found specification of procedure student_version [2022-04-08 10:30:40,846 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:30:40,846 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:30:40,847 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:30:40,847 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:30:40,847 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:30:40,847 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:30:40,847 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:30:40,908 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:30:40,910 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:30:41,108 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:30:41,119 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:30:41,119 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 10:30:41,121 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:30:41 BoogieIcfgContainer [2022-04-08 10:30:41,121 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:30:41,122 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:30:41,122 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:30:41,126 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:30:41,127 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:30:40" (1/3) ... [2022-04-08 10:30:41,127 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@169cd791 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:30:41, skipping insertion in model container [2022-04-08 10:30:41,128 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:30:40" (2/3) ... [2022-04-08 10:30:41,128 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@169cd791 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:30:41, skipping insertion in model container [2022-04-08 10:30:41,128 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:30:41" (3/3) ... [2022-04-08 10:30:41,129 INFO L111 eAbstractionObserver]: Analyzing ICFG watermelon.c [2022-04-08 10:30:41,134 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:30:41,134 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:30:41,178 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:30:41,185 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:30:41,186 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:30:41,207 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 29 states have internal predecessors, (38), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 10:30:41,214 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-08 10:30:41,214 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:41,214 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:41,215 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:41,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:41,221 INFO L85 PathProgramCache]: Analyzing trace with hash 345664661, now seen corresponding path program 1 times [2022-04-08 10:30:41,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:41,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1175471434] [2022-04-08 10:30:41,239 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:30:41,239 INFO L85 PathProgramCache]: Analyzing trace with hash 345664661, now seen corresponding path program 2 times [2022-04-08 10:30:41,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:41,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [942517708] [2022-04-08 10:30:41,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:41,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:41,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:41,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:41,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:41,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {63#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42#true} is VALID [2022-04-08 10:30:41,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 10:30:41,577 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #93#return; {42#true} is VALID [2022-04-08 10:30:41,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:41,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:41,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42#true} is VALID [2022-04-08 10:30:41,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume ~w < 4;~is_divisible~0 := ~false~0; {64#(= ~false~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:41,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {64#(= ~false~0 correct_version_~is_divisible~0)} #res := ~is_divisible~0; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-08 10:30:41,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {65#(= |correct_version_#res| ~false~0)} assume true; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-08 10:30:41,617 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {65#(= |correct_version_#res| ~false~0)} {42#true} #87#return; {52#(= ~false~0 |main_#t~ret5|)} is VALID [2022-04-08 10:30:41,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 10:30:41,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:41,655 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42#true} is VALID [2022-04-08 10:30:41,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume ~w < 4;~is_divisible~1 := ~false~0; {66#(= ~false~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:41,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {66#(= ~false~0 student_version_~is_divisible~1)} #res := ~is_divisible~1; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-08 10:30:41,657 INFO L290 TraceCheckUtils]: 3: Hoare triple {67#(= ~false~0 |student_version_#res|)} assume true; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-08 10:30:41,658 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {67#(= ~false~0 |student_version_#res|)} {53#(= ~false~0 main_~is_divisible1~0)} #89#return; {59#(= |main_#t~ret6| main_~is_divisible1~0)} is VALID [2022-04-08 10:30:41,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {63#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:41,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {63#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42#true} is VALID [2022-04-08 10:30:41,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 10:30:41,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #93#return; {42#true} is VALID [2022-04-08 10:30:41,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret7 := main(); {42#true} is VALID [2022-04-08 10:30:41,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {42#true} is VALID [2022-04-08 10:30:41,661 INFO L290 TraceCheckUtils]: 6: Hoare triple {42#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42#true} is VALID [2022-04-08 10:30:41,661 INFO L272 TraceCheckUtils]: 7: Hoare triple {42#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42#true} is VALID [2022-04-08 10:30:41,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42#true} is VALID [2022-04-08 10:30:41,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#true} assume ~w < 4;~is_divisible~0 := ~false~0; {64#(= ~false~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:41,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {64#(= ~false~0 correct_version_~is_divisible~0)} #res := ~is_divisible~0; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-08 10:30:41,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {65#(= |correct_version_#res| ~false~0)} assume true; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-08 10:30:41,664 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {65#(= |correct_version_#res| ~false~0)} {42#true} #87#return; {52#(= ~false~0 |main_#t~ret5|)} is VALID [2022-04-08 10:30:41,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {52#(= ~false~0 |main_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {53#(= ~false~0 main_~is_divisible1~0)} is VALID [2022-04-08 10:30:41,665 INFO L272 TraceCheckUtils]: 14: Hoare triple {53#(= ~false~0 main_~is_divisible1~0)} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42#true} is VALID [2022-04-08 10:30:41,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42#true} is VALID [2022-04-08 10:30:41,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {42#true} assume ~w < 4;~is_divisible~1 := ~false~0; {66#(= ~false~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:41,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {66#(= ~false~0 student_version_~is_divisible~1)} #res := ~is_divisible~1; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-08 10:30:41,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {67#(= ~false~0 |student_version_#res|)} assume true; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-08 10:30:41,668 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {67#(= ~false~0 |student_version_#res|)} {53#(= ~false~0 main_~is_divisible1~0)} #89#return; {59#(= |main_#t~ret6| main_~is_divisible1~0)} is VALID [2022-04-08 10:30:41,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {59#(= |main_#t~ret6| main_~is_divisible1~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {60#(= main_~is_divisible1~0 main_~is_divisible2~0)} is VALID [2022-04-08 10:30:41,669 INFO L272 TraceCheckUtils]: 21: Hoare triple {60#(= main_~is_divisible1~0 main_~is_divisible2~0)} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {61#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:30:41,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {61#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {62#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:30:41,670 INFO L290 TraceCheckUtils]: 23: Hoare triple {62#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43#false} is VALID [2022-04-08 10:30:41,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-08 10:30:41,671 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:41,672 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:41,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [942517708] [2022-04-08 10:30:41,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [942517708] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:41,673 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:41,673 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:30:41,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:41,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1175471434] [2022-04-08 10:30:41,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1175471434] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:41,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:41,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:30:41,676 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717492781] [2022-04-08 10:30:41,676 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:41,681 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 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 25 [2022-04-08 10:30:41,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:41,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:41,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:41,713 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:30:41,713 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:41,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:30:41,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:30:41,732 INFO L87 Difference]: Start difference. First operand has 39 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 29 states have internal predecessors, (38), 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 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,005 INFO L93 Difference]: Finished difference Result 91 states and 114 transitions. [2022-04-08 10:30:43,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:30:43,005 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 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 25 [2022-04-08 10:30:43,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:43,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-04-08 10:30:43,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-04-08 10:30:43,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 114 transitions. [2022-04-08 10:30:43,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,142 INFO L225 Difference]: With dead ends: 91 [2022-04-08 10:30:43,143 INFO L226 Difference]: Without dead ends: 42 [2022-04-08 10:30:43,147 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=85, Invalid=515, Unknown=0, NotChecked=0, Total=600 [2022-04-08 10:30:43,155 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 63 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 460 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 487 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 460 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:43,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [66 Valid, 89 Invalid, 487 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 460 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:30:43,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-08 10:30:43,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2022-04-08 10:30:43,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:43,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,201 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,202 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,212 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-08 10:30:43,212 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-08 10:30:43,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:43,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:43,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 42 states. [2022-04-08 10:30:43,216 INFO L87 Difference]: Start difference. First operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 42 states. [2022-04-08 10:30:43,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,219 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-08 10:30:43,220 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-08 10:30:43,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:43,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:43,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:43,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:43,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2022-04-08 10:30:43,224 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 25 [2022-04-08 10:30:43,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:43,225 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2022-04-08 10:30:43,225 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 1.5454545454545454) internal successors, (17), 9 states have internal predecessors, (17), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 46 transitions. [2022-04-08 10:30:43,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,269 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-08 10:30:43,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 10:30:43,271 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:43,272 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:43,272 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:30:43,272 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:43,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:43,273 INFO L85 PathProgramCache]: Analyzing trace with hash -1324779677, now seen corresponding path program 1 times [2022-04-08 10:30:43,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:43,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [288191689] [2022-04-08 10:30:43,278 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:30:43,278 INFO L85 PathProgramCache]: Analyzing trace with hash -1324779677, now seen corresponding path program 2 times [2022-04-08 10:30:43,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:43,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130869135] [2022-04-08 10:30:43,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:43,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:43,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,382 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:43,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {441#true} is VALID [2022-04-08 10:30:43,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-08 10:30:43,395 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {441#true} {441#true} #93#return; {441#true} is VALID [2022-04-08 10:30:43,395 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:43,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {441#true} ~w := #in~w;~is_divisible~0 := ~true~0; {441#true} is VALID [2022-04-08 10:30:43,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {441#true} assume ~w < 4;~is_divisible~0 := ~false~0; {441#true} is VALID [2022-04-08 10:30:43,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {441#true} #res := ~is_divisible~0; {441#true} is VALID [2022-04-08 10:30:43,405 INFO L290 TraceCheckUtils]: 3: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-08 10:30:43,405 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {441#true} {441#true} #87#return; {441#true} is VALID [2022-04-08 10:30:43,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 10:30:43,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {441#true} ~w := #in~w;~is_divisible~1 := ~true~0; {441#true} is VALID [2022-04-08 10:30:43,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {441#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {459#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:43,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {459#(<= (+ student_version_~i~1 4) student_version_~w)} assume !(~i~1 < ~w); {442#false} is VALID [2022-04-08 10:30:43,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {442#false} assume !(~i~1 != ~w); {442#false} is VALID [2022-04-08 10:30:43,442 INFO L290 TraceCheckUtils]: 4: Hoare triple {442#false} #res := ~is_divisible~1; {442#false} is VALID [2022-04-08 10:30:43,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {442#false} assume true; {442#false} is VALID [2022-04-08 10:30:43,443 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {442#false} {441#true} #89#return; {442#false} is VALID [2022-04-08 10:30:43,446 INFO L272 TraceCheckUtils]: 0: Hoare triple {441#true} call ULTIMATE.init(); {458#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:43,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {441#true} is VALID [2022-04-08 10:30:43,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-08 10:30:43,446 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #93#return; {441#true} is VALID [2022-04-08 10:30:43,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret7 := main(); {441#true} is VALID [2022-04-08 10:30:43,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {441#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {441#true} is VALID [2022-04-08 10:30:43,447 INFO L290 TraceCheckUtils]: 6: Hoare triple {441#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {441#true} is VALID [2022-04-08 10:30:43,447 INFO L272 TraceCheckUtils]: 7: Hoare triple {441#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {441#true} is VALID [2022-04-08 10:30:43,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {441#true} ~w := #in~w;~is_divisible~0 := ~true~0; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {441#true} assume ~w < 4;~is_divisible~0 := ~false~0; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L290 TraceCheckUtils]: 10: Hoare triple {441#true} #res := ~is_divisible~0; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {441#true} {441#true} #87#return; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {441#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {441#true} is VALID [2022-04-08 10:30:43,448 INFO L272 TraceCheckUtils]: 14: Hoare triple {441#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {441#true} is VALID [2022-04-08 10:30:43,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {441#true} ~w := #in~w;~is_divisible~1 := ~true~0; {441#true} is VALID [2022-04-08 10:30:43,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {441#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {459#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:43,453 INFO L290 TraceCheckUtils]: 17: Hoare triple {459#(<= (+ student_version_~i~1 4) student_version_~w)} assume !(~i~1 < ~w); {442#false} is VALID [2022-04-08 10:30:43,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {442#false} assume !(~i~1 != ~w); {442#false} is VALID [2022-04-08 10:30:43,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {442#false} #res := ~is_divisible~1; {442#false} is VALID [2022-04-08 10:30:43,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {442#false} assume true; {442#false} is VALID [2022-04-08 10:30:43,453 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {442#false} {441#true} #89#return; {442#false} is VALID [2022-04-08 10:30:43,454 INFO L290 TraceCheckUtils]: 22: Hoare triple {442#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {442#false} is VALID [2022-04-08 10:30:43,454 INFO L272 TraceCheckUtils]: 23: Hoare triple {442#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {442#false} is VALID [2022-04-08 10:30:43,454 INFO L290 TraceCheckUtils]: 24: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2022-04-08 10:30:43,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2022-04-08 10:30:43,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {442#false} assume !false; {442#false} is VALID [2022-04-08 10:30:43,455 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:43,455 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:43,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130869135] [2022-04-08 10:30:43,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [130869135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:43,455 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:43,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:30:43,456 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:43,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [288191689] [2022-04-08 10:30:43,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [288191689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:43,456 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:43,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:30:43,456 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [393293968] [2022-04-08 10:30:43,456 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:43,457 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 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 27 [2022-04-08 10:30:43,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:43,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:43,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,480 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 10:30:43,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:43,481 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 10:30:43,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 10:30:43,481 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:43,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,630 INFO L93 Difference]: Finished difference Result 55 states and 63 transitions. [2022-04-08 10:30:43,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 10:30:43,631 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 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 27 [2022-04-08 10:30:43,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:43,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:43,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-08 10:30:43,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:43,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-08 10:30:43,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-04-08 10:30:43,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,684 INFO L225 Difference]: With dead ends: 55 [2022-04-08 10:30:43,684 INFO L226 Difference]: Without dead ends: 42 [2022-04-08 10:30:43,685 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:30:43,686 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 29 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:43,686 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 33 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:30:43,688 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-08 10:30:43,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-04-08 10:30:43,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:43,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,696 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,696 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,699 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-08 10:30:43,699 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-08 10:30:43,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:43,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:43,700 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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 42 states. [2022-04-08 10:30:43,700 INFO L87 Difference]: Start difference. First operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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 42 states. [2022-04-08 10:30:43,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,702 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-08 10:30:43,702 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-08 10:30:43,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:43,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:43,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:43,703 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:43,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:43,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2022-04-08 10:30:43,705 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 47 transitions. Word has length 27 [2022-04-08 10:30:43,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:43,705 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 47 transitions. [2022-04-08 10:30:43,705 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:43,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 47 transitions. [2022-04-08 10:30:43,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,755 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2022-04-08 10:30:43,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 10:30:43,755 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:43,755 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:43,756 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 10:30:43,756 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:43,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:43,756 INFO L85 PathProgramCache]: Analyzing trace with hash -855151641, now seen corresponding path program 1 times [2022-04-08 10:30:43,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:43,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [356943791] [2022-04-08 10:30:43,757 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:30:43,757 INFO L85 PathProgramCache]: Analyzing trace with hash -855151641, now seen corresponding path program 2 times [2022-04-08 10:30:43,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:43,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [471539727] [2022-04-08 10:30:43,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:43,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:43,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:43,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {740#true} is VALID [2022-04-08 10:30:43,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-08 10:30:43,800 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {740#true} {740#true} #93#return; {740#true} is VALID [2022-04-08 10:30:43,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:43,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {740#true} ~w := #in~w;~is_divisible~0 := ~true~0; {740#true} is VALID [2022-04-08 10:30:43,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {758#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:43,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {758#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !(~i~0 < ~w); {741#false} is VALID [2022-04-08 10:30:43,824 INFO L290 TraceCheckUtils]: 3: Hoare triple {741#false} assume !(~i~0 != ~w); {741#false} is VALID [2022-04-08 10:30:43,824 INFO L290 TraceCheckUtils]: 4: Hoare triple {741#false} #res := ~is_divisible~0; {741#false} is VALID [2022-04-08 10:30:43,824 INFO L290 TraceCheckUtils]: 5: Hoare triple {741#false} assume true; {741#false} is VALID [2022-04-08 10:30:43,825 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {741#false} {740#true} #87#return; {741#false} is VALID [2022-04-08 10:30:43,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 10:30:43,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:43,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {740#true} ~w := #in~w;~is_divisible~1 := ~true~0; {740#true} is VALID [2022-04-08 10:30:43,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume ~w < 4;~is_divisible~1 := ~false~0; {740#true} is VALID [2022-04-08 10:30:43,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} #res := ~is_divisible~1; {740#true} is VALID [2022-04-08 10:30:43,837 INFO L290 TraceCheckUtils]: 3: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-08 10:30:43,838 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {740#true} {741#false} #89#return; {741#false} is VALID [2022-04-08 10:30:43,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {740#true} call ULTIMATE.init(); {757#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:43,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {740#true} is VALID [2022-04-08 10:30:43,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-08 10:30:43,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {740#true} {740#true} #93#return; {740#true} is VALID [2022-04-08 10:30:43,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {740#true} call #t~ret7 := main(); {740#true} is VALID [2022-04-08 10:30:43,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {740#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {740#true} is VALID [2022-04-08 10:30:43,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {740#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {740#true} is VALID [2022-04-08 10:30:43,841 INFO L272 TraceCheckUtils]: 7: Hoare triple {740#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {740#true} is VALID [2022-04-08 10:30:43,842 INFO L290 TraceCheckUtils]: 8: Hoare triple {740#true} ~w := #in~w;~is_divisible~0 := ~true~0; {740#true} is VALID [2022-04-08 10:30:43,842 INFO L290 TraceCheckUtils]: 9: Hoare triple {740#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {758#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:43,843 INFO L290 TraceCheckUtils]: 10: Hoare triple {758#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !(~i~0 < ~w); {741#false} is VALID [2022-04-08 10:30:43,843 INFO L290 TraceCheckUtils]: 11: Hoare triple {741#false} assume !(~i~0 != ~w); {741#false} is VALID [2022-04-08 10:30:43,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {741#false} #res := ~is_divisible~0; {741#false} is VALID [2022-04-08 10:30:43,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {741#false} assume true; {741#false} is VALID [2022-04-08 10:30:43,843 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {741#false} {740#true} #87#return; {741#false} is VALID [2022-04-08 10:30:43,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {741#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {741#false} is VALID [2022-04-08 10:30:43,844 INFO L272 TraceCheckUtils]: 16: Hoare triple {741#false} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {740#true} is VALID [2022-04-08 10:30:43,844 INFO L290 TraceCheckUtils]: 17: Hoare triple {740#true} ~w := #in~w;~is_divisible~1 := ~true~0; {740#true} is VALID [2022-04-08 10:30:43,844 INFO L290 TraceCheckUtils]: 18: Hoare triple {740#true} assume ~w < 4;~is_divisible~1 := ~false~0; {740#true} is VALID [2022-04-08 10:30:43,844 INFO L290 TraceCheckUtils]: 19: Hoare triple {740#true} #res := ~is_divisible~1; {740#true} is VALID [2022-04-08 10:30:43,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-08 10:30:43,844 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {740#true} {741#false} #89#return; {741#false} is VALID [2022-04-08 10:30:43,845 INFO L290 TraceCheckUtils]: 22: Hoare triple {741#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {741#false} is VALID [2022-04-08 10:30:43,845 INFO L272 TraceCheckUtils]: 23: Hoare triple {741#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {741#false} is VALID [2022-04-08 10:30:43,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {741#false} ~cond := #in~cond; {741#false} is VALID [2022-04-08 10:30:43,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {741#false} assume 0 == ~cond; {741#false} is VALID [2022-04-08 10:30:43,845 INFO L290 TraceCheckUtils]: 26: Hoare triple {741#false} assume !false; {741#false} is VALID [2022-04-08 10:30:43,845 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:43,846 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:43,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [471539727] [2022-04-08 10:30:43,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [471539727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:43,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:43,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:30:43,846 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:43,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [356943791] [2022-04-08 10:30:43,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [356943791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:43,847 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:43,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 10:30:43,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1259913828] [2022-04-08 10:30:43,847 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:43,848 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 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 27 [2022-04-08 10:30:43,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:43,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:43,872 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 10:30:43,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:43,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 10:30:43,874 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 10:30:43,874 INFO L87 Difference]: Start difference. First operand 41 states and 47 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:43,995 INFO L93 Difference]: Finished difference Result 72 states and 83 transitions. [2022-04-08 10:30:43,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 10:30:43,995 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 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 27 [2022-04-08 10:30:43,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:43,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:43,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2022-04-08 10:30:43,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:44,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2022-04-08 10:30:44,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 63 transitions. [2022-04-08 10:30:44,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:44,059 INFO L225 Difference]: With dead ends: 72 [2022-04-08 10:30:44,059 INFO L226 Difference]: Without dead ends: 43 [2022-04-08 10:30:44,060 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:30:44,063 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 29 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:44,066 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 33 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:30:44,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-08 10:30:44,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-08 10:30:44,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:44,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:44,080 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:44,081 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:44,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:44,085 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-04-08 10:30:44,085 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-08 10:30:44,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:44,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:44,090 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 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 43 states. [2022-04-08 10:30:44,090 INFO L87 Difference]: Start difference. First operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 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 43 states. [2022-04-08 10:30:44,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:44,094 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-04-08 10:30:44,094 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-08 10:30:44,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:44,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:44,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:44,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:44,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 30 states have (on average 1.2) internal successors, (36), 32 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:44,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2022-04-08 10:30:44,099 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 48 transitions. Word has length 27 [2022-04-08 10:30:44,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:44,099 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 48 transitions. [2022-04-08 10:30:44,100 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 3 states have internal predecessors, (19), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:44,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 48 transitions. [2022-04-08 10:30:44,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:44,143 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-08 10:30:44,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 10:30:44,144 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:44,144 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:44,144 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 10:30:44,144 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:44,145 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:44,145 INFO L85 PathProgramCache]: Analyzing trace with hash 743790053, now seen corresponding path program 1 times [2022-04-08 10:30:44,145 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:44,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [562981202] [2022-04-08 10:30:44,160 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:44,160 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:44,160 INFO L85 PathProgramCache]: Analyzing trace with hash 743790053, now seen corresponding path program 2 times [2022-04-08 10:30:44,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:44,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [320789406] [2022-04-08 10:30:44,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:44,161 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:44,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:44,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:44,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:44,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {1096#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1077#true} is VALID [2022-04-08 10:30:44,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-08 10:30:44,205 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-08 10:30:44,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:44,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:44,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {1077#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} assume ~w < 4;~is_divisible~0 := ~false~0; {1077#true} is VALID [2022-04-08 10:30:44,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} #res := ~is_divisible~0; {1077#true} is VALID [2022-04-08 10:30:44,222 INFO L290 TraceCheckUtils]: 3: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-08 10:30:44,222 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1077#true} {1077#true} #87#return; {1077#true} is VALID [2022-04-08 10:30:44,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 10:30:44,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:44,249 INFO L290 TraceCheckUtils]: 0: Hoare triple {1077#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1097#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:44,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {1097#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {1097#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:44,250 INFO L290 TraceCheckUtils]: 3: Hoare triple {1097#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {1098#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:44,251 INFO L290 TraceCheckUtils]: 4: Hoare triple {1098#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !(~i~1 < ~w); {1078#false} is VALID [2022-04-08 10:30:44,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {1078#false} assume !(~i~1 != ~w); {1078#false} is VALID [2022-04-08 10:30:44,251 INFO L290 TraceCheckUtils]: 6: Hoare triple {1078#false} #res := ~is_divisible~1; {1078#false} is VALID [2022-04-08 10:30:44,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {1078#false} assume true; {1078#false} is VALID [2022-04-08 10:30:44,251 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1078#false} {1077#true} #89#return; {1078#false} is VALID [2022-04-08 10:30:44,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1096#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:44,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {1096#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {1077#true} call #t~ret7 := main(); {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {1077#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L290 TraceCheckUtils]: 6: Hoare triple {1077#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L272 TraceCheckUtils]: 7: Hoare triple {1077#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1077#true} is VALID [2022-04-08 10:30:44,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} assume ~w < 4;~is_divisible~0 := ~false~0; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {1077#true} #res := ~is_divisible~0; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1077#true} {1077#true} #87#return; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {1077#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1077#true} is VALID [2022-04-08 10:30:44,254 INFO L272 TraceCheckUtils]: 14: Hoare triple {1077#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1077#true} is VALID [2022-04-08 10:30:44,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {1077#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1097#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:44,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {1097#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {1097#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:44,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {1097#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {1098#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:44,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {1098#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !(~i~1 < ~w); {1078#false} is VALID [2022-04-08 10:30:44,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {1078#false} assume !(~i~1 != ~w); {1078#false} is VALID [2022-04-08 10:30:44,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {1078#false} #res := ~is_divisible~1; {1078#false} is VALID [2022-04-08 10:30:44,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {1078#false} assume true; {1078#false} is VALID [2022-04-08 10:30:44,257 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1078#false} {1077#true} #89#return; {1078#false} is VALID [2022-04-08 10:30:44,257 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1078#false} is VALID [2022-04-08 10:30:44,258 INFO L272 TraceCheckUtils]: 25: Hoare triple {1078#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1078#false} is VALID [2022-04-08 10:30:44,258 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-08 10:30:44,258 INFO L290 TraceCheckUtils]: 27: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-08 10:30:44,258 INFO L290 TraceCheckUtils]: 28: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-08 10:30:44,258 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:44,259 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:44,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [320789406] [2022-04-08 10:30:44,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [320789406] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:44,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [922410421] [2022-04-08 10:30:44,259 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:44,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:44,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:44,267 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:44,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 10:30:44,324 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:30:44,325 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:44,326 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 10:30:44,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:44,369 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:44,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-08 10:30:44,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1077#true} is VALID [2022-04-08 10:30:44,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-08 10:30:44,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-08 10:30:44,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {1077#true} call #t~ret7 := main(); {1077#true} is VALID [2022-04-08 10:30:44,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {1077#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1077#true} is VALID [2022-04-08 10:30:44,970 INFO L290 TraceCheckUtils]: 6: Hoare triple {1077#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1077#true} is VALID [2022-04-08 10:30:44,971 INFO L272 TraceCheckUtils]: 7: Hoare triple {1077#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1077#true} is VALID [2022-04-08 10:30:44,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1126#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:44,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {1126#(<= |correct_version_#in~w| correct_version_~w)} assume ~w < 4;~is_divisible~0 := ~false~0; {1130#(< |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:44,973 INFO L290 TraceCheckUtils]: 10: Hoare triple {1130#(< |correct_version_#in~w| 4)} #res := ~is_divisible~0; {1130#(< |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:44,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {1130#(< |correct_version_#in~w| 4)} assume true; {1130#(< |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:44,975 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1130#(< |correct_version_#in~w| 4)} {1077#true} #87#return; {1140#(or (< (mod main_~w~0 4294967296) 4) (< 2147483647 (mod main_~w~0 4294967296)))} is VALID [2022-04-08 10:30:44,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {1140#(or (< (mod main_~w~0 4294967296) 4) (< 2147483647 (mod main_~w~0 4294967296)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1140#(or (< (mod main_~w~0 4294967296) 4) (< 2147483647 (mod main_~w~0 4294967296)))} is VALID [2022-04-08 10:30:44,977 INFO L272 TraceCheckUtils]: 14: Hoare triple {1140#(or (< (mod main_~w~0 4294967296) 4) (< 2147483647 (mod main_~w~0 4294967296)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1077#true} is VALID [2022-04-08 10:30:44,977 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1150#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {1150#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {1154#(<= 4 |student_version_#in~w|)} assume !!(~i~1 < ~w); {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,980 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#(<= 4 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#(<= 4 |student_version_#in~w|)} assume !(~i~1 < ~w); {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#(<= 4 |student_version_#in~w|)} assume !(~i~1 != ~w); {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,985 INFO L290 TraceCheckUtils]: 21: Hoare triple {1154#(<= 4 |student_version_#in~w|)} #res := ~is_divisible~1; {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {1154#(<= 4 |student_version_#in~w|)} assume true; {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-08 10:30:44,986 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1154#(<= 4 |student_version_#in~w|)} {1140#(or (< (mod main_~w~0 4294967296) 4) (< 2147483647 (mod main_~w~0 4294967296)))} #89#return; {1078#false} is VALID [2022-04-08 10:30:44,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1078#false} is VALID [2022-04-08 10:30:44,986 INFO L272 TraceCheckUtils]: 25: Hoare triple {1078#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1078#false} is VALID [2022-04-08 10:30:44,986 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-08 10:30:44,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-08 10:30:44,987 INFO L290 TraceCheckUtils]: 28: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-08 10:30:44,987 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:44,987 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:30:44,988 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [922410421] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:44,988 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:30:44,988 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [5] total 10 [2022-04-08 10:30:44,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:44,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [562981202] [2022-04-08 10:30:44,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [562981202] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:44,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:44,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:30:44,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489595795] [2022-04-08 10:30:44,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:44,993 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 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 29 [2022-04-08 10:30:44,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:44,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:45,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:45,016 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:30:45,016 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:45,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:30:45,017 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:30:45,018 INFO L87 Difference]: Start difference. First operand 42 states and 48 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:45,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:45,285 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-08 10:30:45,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:30:45,285 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 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 29 [2022-04-08 10:30:45,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:45,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:45,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-08 10:30:45,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:45,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-08 10:30:45,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 51 transitions. [2022-04-08 10:30:45,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:45,331 INFO L225 Difference]: With dead ends: 56 [2022-04-08 10:30:45,331 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 10:30:45,332 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:30:45,332 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 84 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 84 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:45,333 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 125 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 84 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:30:45,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 10:30:45,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 42. [2022-04-08 10:30:45,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:45,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:45,363 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:45,363 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:45,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:45,365 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2022-04-08 10:30:45,365 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2022-04-08 10:30:45,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:45,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:45,366 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-08 10:30:45,367 INFO L87 Difference]: Start difference. First operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-08 10:30:45,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:45,369 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2022-04-08 10:30:45,369 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2022-04-08 10:30:45,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:45,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:45,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:45,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:45,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:45,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-08 10:30:45,372 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 29 [2022-04-08 10:30:45,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:45,372 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-08 10:30:45,372 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:45,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-08 10:30:45,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:45,430 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-08 10:30:45,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-08 10:30:45,431 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:45,431 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:45,456 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 10:30:45,647 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:45,648 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:45,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:45,648 INFO L85 PathProgramCache]: Analyzing trace with hash 198429957, now seen corresponding path program 1 times [2022-04-08 10:30:45,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:45,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [561564320] [2022-04-08 10:30:45,651 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:45,651 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:45,651 INFO L85 PathProgramCache]: Analyzing trace with hash 198429957, now seen corresponding path program 2 times [2022-04-08 10:30:45,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:45,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [679851378] [2022-04-08 10:30:45,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:45,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:45,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:45,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {1499#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1480#true} is VALID [2022-04-08 10:30:45,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-08 10:30:45,700 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-08 10:30:45,701 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:45,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {1480#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:45,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:45,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:45,724 INFO L290 TraceCheckUtils]: 3: Hoare triple {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {1501#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:45,725 INFO L290 TraceCheckUtils]: 4: Hoare triple {1501#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !(~i~0 < ~w); {1481#false} is VALID [2022-04-08 10:30:45,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {1481#false} assume !(~i~0 != ~w); {1481#false} is VALID [2022-04-08 10:30:45,725 INFO L290 TraceCheckUtils]: 6: Hoare triple {1481#false} #res := ~is_divisible~0; {1481#false} is VALID [2022-04-08 10:30:45,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {1481#false} assume true; {1481#false} is VALID [2022-04-08 10:30:45,725 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1481#false} {1480#true} #87#return; {1481#false} is VALID [2022-04-08 10:30:45,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:30:45,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,731 INFO L290 TraceCheckUtils]: 0: Hoare triple {1480#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:45,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} assume ~w < 4;~is_divisible~1 := ~false~0; {1480#true} is VALID [2022-04-08 10:30:45,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} #res := ~is_divisible~1; {1480#true} is VALID [2022-04-08 10:30:45,731 INFO L290 TraceCheckUtils]: 3: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-08 10:30:45,731 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1480#true} {1481#false} #89#return; {1481#false} is VALID [2022-04-08 10:30:45,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {1480#true} call ULTIMATE.init(); {1499#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:45,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {1499#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1480#true} is VALID [2022-04-08 10:30:45,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-08 10:30:45,732 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {1480#true} call #t~ret7 := main(); {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {1480#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L290 TraceCheckUtils]: 6: Hoare triple {1480#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L272 TraceCheckUtils]: 7: Hoare triple {1480#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {1480#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:45,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {1480#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:45,734 INFO L290 TraceCheckUtils]: 10: Hoare triple {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:45,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {1500#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {1501#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:45,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {1501#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !(~i~0 < ~w); {1481#false} is VALID [2022-04-08 10:30:45,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {1481#false} assume !(~i~0 != ~w); {1481#false} is VALID [2022-04-08 10:30:45,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {1481#false} #res := ~is_divisible~0; {1481#false} is VALID [2022-04-08 10:30:45,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {1481#false} assume true; {1481#false} is VALID [2022-04-08 10:30:45,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1481#false} {1480#true} #87#return; {1481#false} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {1481#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1481#false} is VALID [2022-04-08 10:30:45,736 INFO L272 TraceCheckUtils]: 18: Hoare triple {1481#false} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1480#true} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#true} assume ~w < 4;~is_divisible~1 := ~false~0; {1480#true} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {1480#true} #res := ~is_divisible~1; {1480#true} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-08 10:30:45,736 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1480#true} {1481#false} #89#return; {1481#false} is VALID [2022-04-08 10:30:45,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {1481#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1481#false} is VALID [2022-04-08 10:30:45,737 INFO L272 TraceCheckUtils]: 25: Hoare triple {1481#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1481#false} is VALID [2022-04-08 10:30:45,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {1481#false} ~cond := #in~cond; {1481#false} is VALID [2022-04-08 10:30:45,737 INFO L290 TraceCheckUtils]: 27: Hoare triple {1481#false} assume 0 == ~cond; {1481#false} is VALID [2022-04-08 10:30:45,737 INFO L290 TraceCheckUtils]: 28: Hoare triple {1481#false} assume !false; {1481#false} is VALID [2022-04-08 10:30:45,737 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:45,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:45,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [679851378] [2022-04-08 10:30:45,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [679851378] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:45,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1105301072] [2022-04-08 10:30:45,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:45,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:45,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:45,739 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:45,749 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 10:30:45,797 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:30:45,797 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:45,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 10:30:45,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:45,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:46,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {1480#true} call ULTIMATE.init(); {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {1480#true} call #t~ret7 := main(); {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {1480#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L290 TraceCheckUtils]: 6: Hoare triple {1480#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1480#true} is VALID [2022-04-08 10:30:46,252 INFO L272 TraceCheckUtils]: 7: Hoare triple {1480#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1480#true} is VALID [2022-04-08 10:30:46,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {1480#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1529#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {1529#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,256 INFO L290 TraceCheckUtils]: 10: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} assume !!(~i~0 < ~w); {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,256 INFO L290 TraceCheckUtils]: 11: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,263 INFO L290 TraceCheckUtils]: 12: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} assume !(~i~0 < ~w); {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} assume !(~i~0 != ~w); {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} #res := ~is_divisible~0; {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,264 INFO L290 TraceCheckUtils]: 15: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} assume true; {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:46,265 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1533#(<= 4 |correct_version_#in~w|)} {1480#true} #87#return; {1555#(and (<= 4 (mod main_~w~0 4294967296)) (<= (mod main_~w~0 4294967296) 2147483647))} is VALID [2022-04-08 10:30:46,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {1555#(and (<= 4 (mod main_~w~0 4294967296)) (<= (mod main_~w~0 4294967296) 2147483647))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1555#(and (<= 4 (mod main_~w~0 4294967296)) (<= (mod main_~w~0 4294967296) 2147483647))} is VALID [2022-04-08 10:30:46,266 INFO L272 TraceCheckUtils]: 18: Hoare triple {1555#(and (<= 4 (mod main_~w~0 4294967296)) (<= (mod main_~w~0 4294967296) 2147483647))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1480#true} is VALID [2022-04-08 10:30:46,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1565#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:30:46,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {1565#(<= |student_version_#in~w| student_version_~w)} assume ~w < 4;~is_divisible~1 := ~false~0; {1569#(< |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:46,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {1569#(< |student_version_#in~w| 4)} #res := ~is_divisible~1; {1569#(< |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:46,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {1569#(< |student_version_#in~w| 4)} assume true; {1569#(< |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:46,269 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1569#(< |student_version_#in~w| 4)} {1555#(and (<= 4 (mod main_~w~0 4294967296)) (<= (mod main_~w~0 4294967296) 2147483647))} #89#return; {1481#false} is VALID [2022-04-08 10:30:46,269 INFO L290 TraceCheckUtils]: 24: Hoare triple {1481#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1481#false} is VALID [2022-04-08 10:30:46,269 INFO L272 TraceCheckUtils]: 25: Hoare triple {1481#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1481#false} is VALID [2022-04-08 10:30:46,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {1481#false} ~cond := #in~cond; {1481#false} is VALID [2022-04-08 10:30:46,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {1481#false} assume 0 == ~cond; {1481#false} is VALID [2022-04-08 10:30:46,269 INFO L290 TraceCheckUtils]: 28: Hoare triple {1481#false} assume !false; {1481#false} is VALID [2022-04-08 10:30:46,270 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:46,270 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:30:46,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1105301072] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:46,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:30:46,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [5] total 10 [2022-04-08 10:30:46,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:46,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [561564320] [2022-04-08 10:30:46,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [561564320] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:46,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:46,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:30:46,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [657595868] [2022-04-08 10:30:46,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:46,271 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 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 29 [2022-04-08 10:30:46,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:46,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:46,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:46,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:30:46,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:46,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:30:46,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:30:46,296 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:46,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:46,546 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-04-08 10:30:46,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:30:46,546 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 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 29 [2022-04-08 10:30:46,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:46,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:46,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-04-08 10:30:46,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:46,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-04-08 10:30:46,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 44 transitions. [2022-04-08 10:30:46,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:46,580 INFO L225 Difference]: With dead ends: 51 [2022-04-08 10:30:46,580 INFO L226 Difference]: Without dead ends: 42 [2022-04-08 10:30:46,580 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:30:46,581 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 21 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:46,581 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 113 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:30:46,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-08 10:30:46,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2022-04-08 10:30:46,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:46,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:46,624 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:46,624 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:46,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:46,625 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 10:30:46,625 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 10:30:46,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:46,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:46,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 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 42 states. [2022-04-08 10:30:46,626 INFO L87 Difference]: Start difference. First operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 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 42 states. [2022-04-08 10:30:46,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:46,628 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 10:30:46,628 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 10:30:46,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:46,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:46,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:46,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:46,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 32 states have internal predecessors, (34), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:46,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-08 10:30:46,630 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 29 [2022-04-08 10:30:46,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:46,630 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-08 10:30:46,646 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:46,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 46 transitions. [2022-04-08 10:30:46,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:46,697 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 10:30:46,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 10:30:46,698 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:46,698 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:46,717 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 10:30:46,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:46,911 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:46,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:46,912 INFO L85 PathProgramCache]: Analyzing trace with hash 1589989783, now seen corresponding path program 1 times [2022-04-08 10:30:46,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:46,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1176192934] [2022-04-08 10:30:46,928 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:46,928 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:46,928 INFO L85 PathProgramCache]: Analyzing trace with hash 1589989783, now seen corresponding path program 2 times [2022-04-08 10:30:46,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:46,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146634342] [2022-04-08 10:30:46,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:46,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:46,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:46,962 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:46,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:46,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {1890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1867#true} is VALID [2022-04-08 10:30:46,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:46,967 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-08 10:30:46,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:46,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:47,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:47,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:47,003 INFO L290 TraceCheckUtils]: 3: Hoare triple {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {1892#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:47,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {1892#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !(~i~0 < ~w); {1868#false} is VALID [2022-04-08 10:30:47,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {1868#false} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1868#false} is VALID [2022-04-08 10:30:47,004 INFO L290 TraceCheckUtils]: 6: Hoare triple {1868#false} #res := ~is_divisible~0; {1868#false} is VALID [2022-04-08 10:30:47,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-08 10:30:47,004 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1868#false} {1867#true} #87#return; {1868#false} is VALID [2022-04-08 10:30:47,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-08 10:30:47,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:47,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume !!(~i~1 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 3: Hoare triple {1867#true} ~i~1 := 2 + ~i~1; {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 4: Hoare triple {1867#true} assume !(~i~1 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} assume !(~i~1 != ~w); {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} #res := ~is_divisible~1; {1867#true} is VALID [2022-04-08 10:30:47,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,018 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1867#true} {1868#false} #89#return; {1868#false} is VALID [2022-04-08 10:30:47,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {1867#true} call ULTIMATE.init(); {1890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:47,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {1890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-08 10:30:47,019 INFO L272 TraceCheckUtils]: 7: Hoare triple {1867#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:47,020 INFO L290 TraceCheckUtils]: 10: Hoare triple {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:47,021 INFO L290 TraceCheckUtils]: 11: Hoare triple {1891#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {1892#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:47,022 INFO L290 TraceCheckUtils]: 12: Hoare triple {1892#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !(~i~0 < ~w); {1868#false} is VALID [2022-04-08 10:30:47,022 INFO L290 TraceCheckUtils]: 13: Hoare triple {1868#false} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1868#false} is VALID [2022-04-08 10:30:47,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {1868#false} #res := ~is_divisible~0; {1868#false} is VALID [2022-04-08 10:30:47,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-08 10:30:47,022 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1868#false} {1867#true} #87#return; {1868#false} is VALID [2022-04-08 10:30:47,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {1868#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1868#false} is VALID [2022-04-08 10:30:47,023 INFO L272 TraceCheckUtils]: 18: Hoare triple {1868#false} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {1867#true} assume !!(~i~1 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 22: Hoare triple {1867#true} ~i~1 := 2 + ~i~1; {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {1867#true} assume !(~i~1 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {1867#true} assume !(~i~1 != ~w); {1867#true} is VALID [2022-04-08 10:30:47,024 INFO L290 TraceCheckUtils]: 25: Hoare triple {1867#true} #res := ~is_divisible~1; {1867#true} is VALID [2022-04-08 10:30:47,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,024 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1867#true} {1868#false} #89#return; {1868#false} is VALID [2022-04-08 10:30:47,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {1868#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1868#false} is VALID [2022-04-08 10:30:47,024 INFO L272 TraceCheckUtils]: 29: Hoare triple {1868#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1868#false} is VALID [2022-04-08 10:30:47,024 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-08 10:30:47,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-08 10:30:47,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-08 10:30:47,025 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:47,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:47,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [146634342] [2022-04-08 10:30:47,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [146634342] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:47,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [174307316] [2022-04-08 10:30:47,026 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:47,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:47,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:47,027 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:47,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 10:30:47,071 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:30:47,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:47,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 10:30:47,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:47,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:47,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {1867#true} call ULTIMATE.init(); {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-08 10:30:47,201 INFO L272 TraceCheckUtils]: 7: Hoare triple {1867#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 10: Hoare triple {1867#true} assume !!(~i~0 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} ~i~0 := 2 + ~i~0; {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 12: Hoare triple {1867#true} assume !(~i~0 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {1867#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1867#true} is VALID [2022-04-08 10:30:47,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {1867#true} #res := ~is_divisible~0; {1867#true} is VALID [2022-04-08 10:30:47,203 INFO L290 TraceCheckUtils]: 15: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,203 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1867#true} {1867#true} #87#return; {1867#true} is VALID [2022-04-08 10:30:47,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {1867#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1867#true} is VALID [2022-04-08 10:30:47,203 INFO L272 TraceCheckUtils]: 18: Hoare triple {1867#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1956#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:47,205 INFO L290 TraceCheckUtils]: 21: Hoare triple {1956#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} assume !!(~i~1 < ~w); {1956#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:47,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {1956#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} ~i~1 := 2 + ~i~1; {1963#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:47,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {1963#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} assume !(~i~1 < ~w); {1868#false} is VALID [2022-04-08 10:30:47,206 INFO L290 TraceCheckUtils]: 24: Hoare triple {1868#false} assume !(~i~1 != ~w); {1868#false} is VALID [2022-04-08 10:30:47,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {1868#false} #res := ~is_divisible~1; {1868#false} is VALID [2022-04-08 10:30:47,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1868#false} {1867#true} #89#return; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {1868#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L272 TraceCheckUtils]: 29: Hoare triple {1868#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-08 10:30:47,207 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:47,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:47,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-08 10:30:47,348 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-08 10:30:47,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-08 10:30:47,348 INFO L272 TraceCheckUtils]: 29: Hoare triple {1868#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L290 TraceCheckUtils]: 28: Hoare triple {1868#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1868#false} {1867#true} #89#return; {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {1868#false} #res := ~is_divisible~1; {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {1868#false} assume !(~i~1 != ~w); {1868#false} is VALID [2022-04-08 10:30:47,349 INFO L290 TraceCheckUtils]: 23: Hoare triple {2024#(< student_version_~i~1 student_version_~w)} assume !(~i~1 < ~w); {1868#false} is VALID [2022-04-08 10:30:47,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {2028#(< (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {2024#(< student_version_~i~1 student_version_~w)} is VALID [2022-04-08 10:30:47,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {2028#(< (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {2028#(< (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:47,351 INFO L290 TraceCheckUtils]: 20: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2028#(< (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:47,351 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,351 INFO L272 TraceCheckUtils]: 18: Hoare triple {1867#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,351 INFO L290 TraceCheckUtils]: 17: Hoare triple {1867#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1867#true} {1867#true} #87#return; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 15: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 14: Hoare triple {1867#true} #res := ~is_divisible~0; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {1867#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 12: Hoare triple {1867#true} assume !(~i~0 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} ~i~0 := 2 + ~i~0; {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {1867#true} assume !!(~i~0 < ~w); {1867#true} is VALID [2022-04-08 10:30:47,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L272 TraceCheckUtils]: 7: Hoare triple {1867#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-08 10:30:47,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {1867#true} is VALID [2022-04-08 10:30:47,354 INFO L272 TraceCheckUtils]: 0: Hoare triple {1867#true} call ULTIMATE.init(); {1867#true} is VALID [2022-04-08 10:30:47,354 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:47,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [174307316] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:47,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:47,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2022-04-08 10:30:47,355 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:47,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1176192934] [2022-04-08 10:30:47,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1176192934] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:47,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:47,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:30:47,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641852278] [2022-04-08 10:30:47,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:47,356 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 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 33 [2022-04-08 10:30:47,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:47,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:47,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:47,380 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:30:47,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:47,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:30:47,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:30:47,380 INFO L87 Difference]: Start difference. First operand 42 states and 46 transitions. Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:47,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:47,627 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-04-08 10:30:47,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:30:47,627 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 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 33 [2022-04-08 10:30:47,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:47,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:47,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 10:30:47,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:47,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-08 10:30:47,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-08 10:30:47,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:47,687 INFO L225 Difference]: With dead ends: 74 [2022-04-08 10:30:47,688 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 10:30:47,688 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:30:47,690 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 29 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:47,690 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 38 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:30:47,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 10:30:47,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 44. [2022-04-08 10:30:47,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:47,752 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:47,752 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:47,753 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:47,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:47,755 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-08 10:30:47,755 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-08 10:30:47,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:47,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:47,756 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-08 10:30:47,756 INFO L87 Difference]: Start difference. First operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 45 states. [2022-04-08 10:30:47,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:47,758 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-08 10:30:47,758 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-08 10:30:47,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:47,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:47,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:47,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:47,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 32 states have (on average 1.125) internal successors, (36), 34 states have internal predecessors, (36), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:47,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 48 transitions. [2022-04-08 10:30:47,760 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 48 transitions. Word has length 33 [2022-04-08 10:30:47,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:47,761 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 48 transitions. [2022-04-08 10:30:47,761 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:47,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 48 transitions. [2022-04-08 10:30:47,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:47,811 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-04-08 10:30:47,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:30:47,811 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:47,812 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:47,836 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 10:30:48,027 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:48,027 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:48,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:48,028 INFO L85 PathProgramCache]: Analyzing trace with hash -1006640075, now seen corresponding path program 3 times [2022-04-08 10:30:48,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:48,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [661450997] [2022-04-08 10:30:48,031 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:48,031 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:48,031 INFO L85 PathProgramCache]: Analyzing trace with hash -1006640075, now seen corresponding path program 4 times [2022-04-08 10:30:48,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:48,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1004081178] [2022-04-08 10:30:48,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:48,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:48,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:48,063 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:48,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:48,067 INFO L290 TraceCheckUtils]: 0: Hoare triple {2449#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,068 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-08 10:30:48,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:48,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:48,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:48,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:48,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:48,111 INFO L290 TraceCheckUtils]: 4: Hoare triple {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !!(~i~0 < ~w); {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:48,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} ~i~0 := 2 + ~i~0; {2452#(< correct_version_~i~0 (+ correct_version_~w 1))} is VALID [2022-04-08 10:30:48,112 INFO L290 TraceCheckUtils]: 6: Hoare triple {2452#(< correct_version_~i~0 (+ correct_version_~w 1))} assume !(~i~0 < ~w); {2453#(and (< correct_version_~i~0 (+ correct_version_~w 1)) (<= correct_version_~w correct_version_~i~0))} is VALID [2022-04-08 10:30:48,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {2453#(and (< correct_version_~i~0 (+ correct_version_~w 1)) (<= correct_version_~w correct_version_~i~0))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2425#false} is VALID [2022-04-08 10:30:48,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {2425#false} #res := ~is_divisible~0; {2425#false} is VALID [2022-04-08 10:30:48,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-08 10:30:48,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2425#false} {2424#true} #87#return; {2425#false} is VALID [2022-04-08 10:30:48,113 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:30:48,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:48,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2424#true} is VALID [2022-04-08 10:30:48,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume !!(~i~1 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {2424#true} ~i~1 := 2 + ~i~1; {2424#true} is VALID [2022-04-08 10:30:48,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {2424#true} assume !(~i~1 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {2424#true} assume !(~i~1 != ~w); {2424#true} is VALID [2022-04-08 10:30:48,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} #res := ~is_divisible~1; {2424#true} is VALID [2022-04-08 10:30:48,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,124 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2424#true} {2425#false} #89#return; {2425#false} is VALID [2022-04-08 10:30:48,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {2424#true} call ULTIMATE.init(); {2449#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:48,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {2449#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {2424#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-08 10:30:48,125 INFO L272 TraceCheckUtils]: 7: Hoare triple {2424#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:48,127 INFO L290 TraceCheckUtils]: 10: Hoare triple {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} assume !!(~i~0 < ~w); {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} is VALID [2022-04-08 10:30:48,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {2450#(<= (+ correct_version_~i~0 4) correct_version_~w)} ~i~0 := 2 + ~i~0; {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:48,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} assume !!(~i~0 < ~w); {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} is VALID [2022-04-08 10:30:48,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {2451#(<= (+ correct_version_~i~0 2) correct_version_~w)} ~i~0 := 2 + ~i~0; {2452#(< correct_version_~i~0 (+ correct_version_~w 1))} is VALID [2022-04-08 10:30:48,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {2452#(< correct_version_~i~0 (+ correct_version_~w 1))} assume !(~i~0 < ~w); {2453#(and (< correct_version_~i~0 (+ correct_version_~w 1)) (<= correct_version_~w correct_version_~i~0))} is VALID [2022-04-08 10:30:48,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {2453#(and (< correct_version_~i~0 (+ correct_version_~w 1)) (<= correct_version_~w correct_version_~i~0))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2425#false} is VALID [2022-04-08 10:30:48,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {2425#false} #res := ~is_divisible~0; {2425#false} is VALID [2022-04-08 10:30:48,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-08 10:30:48,129 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2425#false} {2424#true} #87#return; {2425#false} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {2425#false} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {2425#false} is VALID [2022-04-08 10:30:48,130 INFO L272 TraceCheckUtils]: 20: Hoare triple {2425#false} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {2424#true} assume !!(~i~1 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {2424#true} ~i~1 := 2 + ~i~1; {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 25: Hoare triple {2424#true} assume !(~i~1 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {2424#true} assume !(~i~1 != ~w); {2424#true} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {2424#true} #res := ~is_divisible~1; {2424#true} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 28: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,131 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2424#true} {2425#false} #89#return; {2425#false} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {2425#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {2425#false} is VALID [2022-04-08 10:30:48,131 INFO L272 TraceCheckUtils]: 31: Hoare triple {2425#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {2425#false} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-08 10:30:48,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-08 10:30:48,132 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 10:30:48,132 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:48,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1004081178] [2022-04-08 10:30:48,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1004081178] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:48,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [882431752] [2022-04-08 10:30:48,132 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:30:48,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:48,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:48,133 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:48,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 10:30:48,186 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:30:48,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:48,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 10:30:48,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:48,198 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:48,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {2424#true} call ULTIMATE.init(); {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {2424#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,324 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L272 TraceCheckUtils]: 7: Hoare triple {2424#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 10: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#true} assume !(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {2424#true} #res := ~is_divisible~0; {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2424#true} {2424#true} #87#return; {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L290 TraceCheckUtils]: 19: Hoare triple {2424#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L272 TraceCheckUtils]: 20: Hoare triple {2424#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,327 INFO L290 TraceCheckUtils]: 22: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2523#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:48,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {2523#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} assume !!(~i~1 < ~w); {2523#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:48,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {2523#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} ~i~1 := 2 + ~i~1; {2530#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:48,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {2530#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} assume !(~i~1 < ~w); {2425#false} is VALID [2022-04-08 10:30:48,328 INFO L290 TraceCheckUtils]: 26: Hoare triple {2425#false} assume !(~i~1 != ~w); {2425#false} is VALID [2022-04-08 10:30:48,328 INFO L290 TraceCheckUtils]: 27: Hoare triple {2425#false} #res := ~is_divisible~1; {2425#false} is VALID [2022-04-08 10:30:48,328 INFO L290 TraceCheckUtils]: 28: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2425#false} {2424#true} #89#return; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {2425#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L272 TraceCheckUtils]: 31: Hoare triple {2425#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-08 10:30:48,329 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:48,329 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:48,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L272 TraceCheckUtils]: 31: Hoare triple {2425#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {2425#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2425#false} {2424#true} #89#return; {2425#false} is VALID [2022-04-08 10:30:48,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-08 10:30:48,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {2425#false} #res := ~is_divisible~1; {2425#false} is VALID [2022-04-08 10:30:48,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {2425#false} assume !(~i~1 != ~w); {2425#false} is VALID [2022-04-08 10:30:48,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {2591#(< student_version_~i~1 student_version_~w)} assume !(~i~1 < ~w); {2425#false} is VALID [2022-04-08 10:30:48,463 INFO L290 TraceCheckUtils]: 24: Hoare triple {2595#(< (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {2591#(< student_version_~i~1 student_version_~w)} is VALID [2022-04-08 10:30:48,463 INFO L290 TraceCheckUtils]: 23: Hoare triple {2595#(< (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {2595#(< (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 22: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2595#(< (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L272 TraceCheckUtils]: 20: Hoare triple {2424#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 19: Hoare triple {2424#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2424#true} {2424#true} #87#return; {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 16: Hoare triple {2424#true} #res := ~is_divisible~0; {2424#true} is VALID [2022-04-08 10:30:48,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#true} assume !(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L272 TraceCheckUtils]: 7: Hoare triple {2424#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {2424#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {2424#true} is VALID [2022-04-08 10:30:48,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {2424#true} call ULTIMATE.init(); {2424#true} is VALID [2022-04-08 10:30:48,467 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:48,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [882431752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:48,467 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:48,467 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4, 4] total 11 [2022-04-08 10:30:48,467 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:48,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [661450997] [2022-04-08 10:30:48,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [661450997] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:48,468 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:48,468 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:30:48,468 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1854501767] [2022-04-08 10:30:48,468 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:48,468 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-08 10:30:48,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:48,469 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:48,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:48,494 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:30:48,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:48,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:30:48,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:30:48,495 INFO L87 Difference]: Start difference. First operand 44 states and 48 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:48,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:48,776 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-08 10:30:48,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:30:48,776 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-08 10:30:48,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:48,776 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:48,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2022-04-08 10:30:48,778 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:48,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2022-04-08 10:30:48,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2022-04-08 10:30:48,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:48,840 INFO L225 Difference]: With dead ends: 70 [2022-04-08 10:30:48,840 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 10:30:48,840 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:30:48,841 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 41 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 73 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 73 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:48,841 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 36 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 73 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:30:48,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 10:30:48,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-08 10:30:48,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:48,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:48,900 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:48,901 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:48,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:48,902 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2022-04-08 10:30:48,903 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-08 10:30:48,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:48,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:48,903 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 47 states. [2022-04-08 10:30:48,903 INFO L87 Difference]: Start difference. First operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Second operand 47 states. [2022-04-08 10:30:48,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:48,905 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2022-04-08 10:30:48,905 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-08 10:30:48,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:48,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:48,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:48,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:48,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 35 states have (on average 1.1428571428571428) internal successors, (40), 37 states have internal predecessors, (40), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:48,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2022-04-08 10:30:48,907 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 35 [2022-04-08 10:30:48,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:48,907 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2022-04-08 10:30:48,908 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:48,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 52 transitions. [2022-04-08 10:30:48,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:48,964 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-08 10:30:48,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 10:30:48,964 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:48,964 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:48,987 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-08 10:30:49,187 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:49,188 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:49,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:49,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1790620401, now seen corresponding path program 1 times [2022-04-08 10:30:49,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:49,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1780593575] [2022-04-08 10:30:49,191 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:49,191 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:49,191 INFO L85 PathProgramCache]: Analyzing trace with hash 1790620401, now seen corresponding path program 2 times [2022-04-08 10:30:49,191 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:49,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1496986175] [2022-04-08 10:30:49,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:49,191 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:49,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:49,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:49,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:49,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {3028#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,221 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,221 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-08 10:30:49,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:49,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 4: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-08 10:30:49,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-08 10:30:49,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,227 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-08 10:30:49,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:30:49,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:49,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3029#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:49,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {3029#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {3029#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:49,246 INFO L290 TraceCheckUtils]: 3: Hoare triple {3029#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:49,246 INFO L290 TraceCheckUtils]: 4: Hoare triple {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !(~i~1 < ~w); {3004#false} is VALID [2022-04-08 10:30:49,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-08 10:30:49,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-08 10:30:49,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-08 10:30:49,247 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-08 10:30:49,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {3003#true} call ULTIMATE.init(); {3028#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:49,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {3028#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L272 TraceCheckUtils]: 7: Hoare triple {3003#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-08 10:30:49,249 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,250 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-08 10:30:49,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {3003#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3003#true} is VALID [2022-04-08 10:30:49,250 INFO L272 TraceCheckUtils]: 20: Hoare triple {3003#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3029#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:49,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {3029#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {3029#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:49,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {3029#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !(~i~1 < ~w); {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L272 TraceCheckUtils]: 31: Hoare triple {3004#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3004#false} is VALID [2022-04-08 10:30:49,252 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-08 10:30:49,253 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-08 10:30:49,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-08 10:30:49,253 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:49,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:49,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1496986175] [2022-04-08 10:30:49,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1496986175] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:49,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1795967989] [2022-04-08 10:30:49,253 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:30:49,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:49,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:49,255 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:49,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 10:30:49,292 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:30:49,292 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:49,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 10:30:49,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:49,302 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:49,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {3003#true} call ULTIMATE.init(); {3003#true} is VALID [2022-04-08 10:30:49,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-08 10:30:49,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L272 TraceCheckUtils]: 7: Hoare triple {3003#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {3003#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L272 TraceCheckUtils]: 20: Hoare triple {3003#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3100#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:49,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {3100#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} assume !!(~i~1 < ~w); {3100#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:49,419 INFO L290 TraceCheckUtils]: 24: Hoare triple {3100#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} ~i~1 := 2 + ~i~1; {3107#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:49,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {3107#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} assume !(~i~1 < ~w); {3004#false} is VALID [2022-04-08 10:30:49,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-08 10:30:49,420 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-08 10:30:49,420 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-08 10:30:49,420 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-08 10:30:49,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3004#false} is VALID [2022-04-08 10:30:49,422 INFO L272 TraceCheckUtils]: 31: Hoare triple {3004#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3004#false} is VALID [2022-04-08 10:30:49,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-08 10:30:49,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-08 10:30:49,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-08 10:30:49,422 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:49,422 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:49,607 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L272 TraceCheckUtils]: 31: Hoare triple {3004#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-08 10:30:49,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-08 10:30:49,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {3165#(= student_version_~i~1 student_version_~w)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-08 10:30:49,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {3169#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {3165#(= student_version_~i~1 student_version_~w)} is VALID [2022-04-08 10:30:49,610 INFO L290 TraceCheckUtils]: 24: Hoare triple {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {3169#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:30:49,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:49,610 INFO L290 TraceCheckUtils]: 22: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3030#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L272 TraceCheckUtils]: 20: Hoare triple {3003#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {3003#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L272 TraceCheckUtils]: 7: Hoare triple {3003#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3003#true} is VALID [2022-04-08 10:30:49,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-08 10:30:49,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-08 10:30:49,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-08 10:30:49,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3003#true} is VALID [2022-04-08 10:30:49,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {3003#true} call ULTIMATE.init(); {3003#true} is VALID [2022-04-08 10:30:49,613 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:49,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1795967989] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:49,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:49,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 5] total 9 [2022-04-08 10:30:49,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:49,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1780593575] [2022-04-08 10:30:49,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1780593575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:49,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:49,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:30:49,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1771325494] [2022-04-08 10:30:49,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:49,615 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 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 35 [2022-04-08 10:30:49,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:49,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:49,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:49,638 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:30:49,639 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:49,639 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:30:49,639 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:30:49,639 INFO L87 Difference]: Start difference. First operand 47 states and 52 transitions. Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:49,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:49,842 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-08 10:30:49,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:30:49,842 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 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 35 [2022-04-08 10:30:49,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:49,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:49,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-08 10:30:49,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:49,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-08 10:30:49,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 50 transitions. [2022-04-08 10:30:49,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:49,892 INFO L225 Difference]: With dead ends: 63 [2022-04-08 10:30:49,892 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 10:30:49,892 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:30:49,893 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 29 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:49,893 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 33 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:30:49,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 10:30:49,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-08 10:30:49,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:49,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:49,967 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:49,969 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:49,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:49,971 INFO L93 Difference]: Finished difference Result 50 states and 55 transitions. [2022-04-08 10:30:49,971 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-08 10:30:49,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:49,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:49,972 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 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 50 states. [2022-04-08 10:30:49,972 INFO L87 Difference]: Start difference. First operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 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 50 states. [2022-04-08 10:30:49,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:49,974 INFO L93 Difference]: Finished difference Result 50 states and 55 transitions. [2022-04-08 10:30:49,974 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-08 10:30:49,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:49,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:49,975 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:49,975 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:49,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:49,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2022-04-08 10:30:49,976 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 35 [2022-04-08 10:30:49,976 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:49,977 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2022-04-08 10:30:49,977 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 4 states have internal predecessors, (25), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:49,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 54 transitions. [2022-04-08 10:30:50,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:50,044 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 10:30:50,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 10:30:50,044 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:50,044 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:50,060 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:30:50,247 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:50,248 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:50,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:50,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1072065907, now seen corresponding path program 3 times [2022-04-08 10:30:50,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:50,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1139377661] [2022-04-08 10:30:50,251 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:50,251 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:50,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1072065907, now seen corresponding path program 4 times [2022-04-08 10:30:50,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:50,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [842501470] [2022-04-08 10:30:50,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:50,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:50,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:50,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,295 INFO L290 TraceCheckUtils]: 0: Hoare triple {3599#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,296 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-08 10:30:50,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:50,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 3: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 4: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,302 INFO L290 TraceCheckUtils]: 5: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-08 10:30:50,303 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:30:50,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,352 INFO L290 TraceCheckUtils]: 3: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,352 INFO L290 TraceCheckUtils]: 4: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {3602#(< student_version_~i~1 (+ student_version_~w 1))} is VALID [2022-04-08 10:30:50,353 INFO L290 TraceCheckUtils]: 6: Hoare triple {3602#(< student_version_~i~1 (+ student_version_~w 1))} assume !(~i~1 < ~w); {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:30:50,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3573#false} is VALID [2022-04-08 10:30:50,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-08 10:30:50,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-08 10:30:50,354 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-08 10:30:50,355 INFO L272 TraceCheckUtils]: 0: Hoare triple {3572#true} call ULTIMATE.init(); {3599#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:50,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {3599#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-08 10:30:50,355 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-08 10:30:50,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {3572#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L272 TraceCheckUtils]: 7: Hoare triple {3572#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-08 10:30:50,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {3572#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L272 TraceCheckUtils]: 20: Hoare triple {3572#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,359 INFO L290 TraceCheckUtils]: 25: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {3602#(< student_version_~i~1 (+ student_version_~w 1))} is VALID [2022-04-08 10:30:50,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {3602#(< student_version_~i~1 (+ student_version_~w 1))} assume !(~i~1 < ~w); {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:30:50,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3573#false} is VALID [2022-04-08 10:30:50,360 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-08 10:30:50,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-08 10:30:50,360 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L290 TraceCheckUtils]: 32: Hoare triple {3573#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L272 TraceCheckUtils]: 33: Hoare triple {3573#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-08 10:30:50,361 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:50,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:50,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [842501470] [2022-04-08 10:30:50,362 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [842501470] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:50,362 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466243700] [2022-04-08 10:30:50,362 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:30:50,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:50,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:50,363 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:50,374 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 10:30:50,412 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:30:50,412 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:50,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 10:30:50,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:50,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:50,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {3572#true} call ULTIMATE.init(); {3572#true} is VALID [2022-04-08 10:30:50,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {3572#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L272 TraceCheckUtils]: 7: Hoare triple {3572#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,689 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-08 10:30:50,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {3572#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3572#true} is VALID [2022-04-08 10:30:50,691 INFO L272 TraceCheckUtils]: 20: Hoare triple {3572#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3673#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,691 INFO L290 TraceCheckUtils]: 23: Hoare triple {3673#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} assume !!(~i~1 < ~w); {3673#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,692 INFO L290 TraceCheckUtils]: 24: Hoare triple {3673#(and (<= student_version_~i~1 0) (not (< student_version_~w 4)))} ~i~1 := 2 + ~i~1; {3680#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {3680#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} assume !!(~i~1 < ~w); {3680#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {3680#(and (<= student_version_~i~1 2) (not (< student_version_~w 4)))} ~i~1 := 2 + ~i~1; {3687#(and (<= student_version_~i~1 4) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {3687#(and (<= student_version_~i~1 4) (not (< student_version_~w 4)))} assume !(~i~1 < ~w); {3691#(and (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 4) (not (< student_version_~w 4)))} is VALID [2022-04-08 10:30:50,694 INFO L290 TraceCheckUtils]: 28: Hoare triple {3691#(and (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 4) (not (< student_version_~w 4)))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L290 TraceCheckUtils]: 32: Hoare triple {3573#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L272 TraceCheckUtils]: 33: Hoare triple {3573#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3573#false} is VALID [2022-04-08 10:30:50,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-08 10:30:50,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-08 10:30:50,695 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-08 10:30:50,695 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:50,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:50,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L272 TraceCheckUtils]: 33: Hoare triple {3573#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {3573#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-08 10:30:50,837 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-08 10:30:50,838 INFO L290 TraceCheckUtils]: 28: Hoare triple {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3573#false} is VALID [2022-04-08 10:30:50,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {3602#(< student_version_~i~1 (+ student_version_~w 1))} assume !(~i~1 < ~w); {3603#(and (< student_version_~i~1 (+ student_version_~w 1)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:30:50,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} ~i~1 := 2 + ~i~1; {3602#(< student_version_~i~1 (+ student_version_~w 1))} is VALID [2022-04-08 10:30:50,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} assume !!(~i~1 < ~w); {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,841 INFO L290 TraceCheckUtils]: 24: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} ~i~1 := 2 + ~i~1; {3601#(<= (+ 2 student_version_~i~1) student_version_~w)} is VALID [2022-04-08 10:30:50,841 INFO L290 TraceCheckUtils]: 23: Hoare triple {3600#(<= (+ student_version_~i~1 4) student_version_~w)} assume !!(~i~1 < ~w); {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {3600#(<= (+ student_version_~i~1 4) student_version_~w)} is VALID [2022-04-08 10:30:50,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,842 INFO L272 TraceCheckUtils]: 20: Hoare triple {3572#true} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {3572#true} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {3572#true} is VALID [2022-04-08 10:30:50,842 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-08 10:30:50,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L272 TraceCheckUtils]: 7: Hoare triple {3572#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {3572#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {3572#true} is VALID [2022-04-08 10:30:50,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {3572#true} call ULTIMATE.init(); {3572#true} is VALID [2022-04-08 10:30:50,845 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:30:50,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1466243700] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:50,845 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:50,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 11 [2022-04-08 10:30:50,845 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:50,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1139377661] [2022-04-08 10:30:50,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1139377661] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:50,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:50,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:30:50,846 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1650061977] [2022-04-08 10:30:50,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:50,846 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), 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 37 [2022-04-08 10:30:50,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:50,846 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:50,877 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:50,877 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:30:50,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:50,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:30:50,878 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:30:50,879 INFO L87 Difference]: Start difference. First operand 49 states and 54 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 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), 1 states have call successors, (3) [2022-04-08 10:30:51,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:51,200 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-08 10:30:51,200 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:30:51,200 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), 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 37 [2022-04-08 10:30:51,201 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:51,201 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:51,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-08 10:30:51,202 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), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:51,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-08 10:30:51,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 54 transitions. [2022-04-08 10:30:51,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:51,256 INFO L225 Difference]: With dead ends: 61 [2022-04-08 10:30:51,256 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 10:30:51,256 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:30:51,257 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 41 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:51,257 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 36 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:30:51,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 10:30:51,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 10:30:51,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:51,339 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:51,339 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:51,339 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:51,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:51,341 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-08 10:30:51,341 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-08 10:30:51,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:51,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:51,342 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 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 52 states. [2022-04-08 10:30:51,342 INFO L87 Difference]: Start difference. First operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 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 52 states. [2022-04-08 10:30:51,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:51,343 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-08 10:30:51,343 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-08 10:30:51,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:51,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:51,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:51,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:51,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 10:30:51,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2022-04-08 10:30:51,345 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 58 transitions. Word has length 37 [2022-04-08 10:30:51,346 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:51,346 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 58 transitions. [2022-04-08 10:30:51,346 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-08 10:30:51,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 58 transitions. [2022-04-08 10:30:51,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:51,408 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-08 10:30:51,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 10:30:51,409 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:51,409 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:51,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 10:30:51,609 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:51,610 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:51,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:51,610 INFO L85 PathProgramCache]: Analyzing trace with hash 1752124277, now seen corresponding path program 1 times [2022-04-08 10:30:51,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:51,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [884785338] [2022-04-08 10:30:51,621 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:51,621 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:51,622 INFO L85 PathProgramCache]: Analyzing trace with hash 1752124277, now seen corresponding path program 2 times [2022-04-08 10:30:51,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:51,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1274502134] [2022-04-08 10:30:51,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:51,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:51,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:51,690 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:51,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:51,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {4200#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4167#true} is VALID [2022-04-08 10:30:51,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {4167#true} assume true; {4167#true} is VALID [2022-04-08 10:30:51,702 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4167#true} {4167#true} #93#return; {4167#true} is VALID [2022-04-08 10:30:51,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:51,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:51,731 INFO L290 TraceCheckUtils]: 0: Hoare triple {4167#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !!(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} ~i~0 := 2 + ~i~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,732 INFO L290 TraceCheckUtils]: 4: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !!(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} ~i~0 := 2 + ~i~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,733 INFO L290 TraceCheckUtils]: 6: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~i~0 != ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} #res := ~is_divisible~0; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-08 10:30:51,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {4202#(= |correct_version_#res| ~true~0)} assume true; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-08 10:30:51,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4202#(= |correct_version_#res| ~true~0)} {4167#true} #87#return; {4183#(= ~true~0 |main_#t~ret5|)} is VALID [2022-04-08 10:30:51,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:30:51,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:51,758 INFO L290 TraceCheckUtils]: 0: Hoare triple {4167#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !!(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,759 INFO L290 TraceCheckUtils]: 3: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} ~i~1 := 2 + ~i~1; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,762 INFO L290 TraceCheckUtils]: 4: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !!(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} ~i~1 := 2 + ~i~1; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~i~1 != ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} #res := ~is_divisible~1; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-08 10:30:51,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {4204#(= ~true~0 |student_version_#res|)} assume true; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-08 10:30:51,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4204#(= ~true~0 |student_version_#res|)} {4184#(= ~true~0 main_~is_divisible1~0)} #89#return; {4196#(= |main_#t~ret6| main_~is_divisible1~0)} is VALID [2022-04-08 10:30:51,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {4167#true} call ULTIMATE.init(); {4200#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:51,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {4200#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4167#true} is VALID [2022-04-08 10:30:51,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {4167#true} assume true; {4167#true} is VALID [2022-04-08 10:30:51,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4167#true} {4167#true} #93#return; {4167#true} is VALID [2022-04-08 10:30:51,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {4167#true} call #t~ret7 := main(); {4167#true} is VALID [2022-04-08 10:30:51,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {4167#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {4167#true} is VALID [2022-04-08 10:30:51,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {4167#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4167#true} is VALID [2022-04-08 10:30:51,766 INFO L272 TraceCheckUtils]: 7: Hoare triple {4167#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4167#true} is VALID [2022-04-08 10:30:51,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {4167#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !!(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} ~i~0 := 2 + ~i~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !!(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} ~i~0 := 2 + ~i~0; {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~i~0 < ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} assume !(~i~0 != ~w); {4201#(= ~true~0 correct_version_~is_divisible~0)} is VALID [2022-04-08 10:30:51,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {4201#(= ~true~0 correct_version_~is_divisible~0)} #res := ~is_divisible~0; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-08 10:30:51,769 INFO L290 TraceCheckUtils]: 17: Hoare triple {4202#(= |correct_version_#res| ~true~0)} assume true; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-08 10:30:51,770 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4202#(= |correct_version_#res| ~true~0)} {4167#true} #87#return; {4183#(= ~true~0 |main_#t~ret5|)} is VALID [2022-04-08 10:30:51,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {4183#(= ~true~0 |main_#t~ret5|)} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {4184#(= ~true~0 main_~is_divisible1~0)} is VALID [2022-04-08 10:30:51,771 INFO L272 TraceCheckUtils]: 20: Hoare triple {4184#(= ~true~0 main_~is_divisible1~0)} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4167#true} is VALID [2022-04-08 10:30:51,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {4167#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !!(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,772 INFO L290 TraceCheckUtils]: 24: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} ~i~1 := 2 + ~i~1; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !!(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,772 INFO L290 TraceCheckUtils]: 26: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} ~i~1 := 2 + ~i~1; {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~i~1 < ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} assume !(~i~1 != ~w); {4203#(= ~true~0 student_version_~is_divisible~1)} is VALID [2022-04-08 10:30:51,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {4203#(= ~true~0 student_version_~is_divisible~1)} #res := ~is_divisible~1; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-08 10:30:51,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {4204#(= ~true~0 |student_version_#res|)} assume true; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-08 10:30:51,774 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4204#(= ~true~0 |student_version_#res|)} {4184#(= ~true~0 main_~is_divisible1~0)} #89#return; {4196#(= |main_#t~ret6| main_~is_divisible1~0)} is VALID [2022-04-08 10:30:51,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {4196#(= |main_#t~ret6| main_~is_divisible1~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {4197#(= main_~is_divisible1~0 main_~is_divisible2~0)} is VALID [2022-04-08 10:30:51,775 INFO L272 TraceCheckUtils]: 33: Hoare triple {4197#(= main_~is_divisible1~0 main_~is_divisible2~0)} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {4198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:30:51,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {4198#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4199#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:30:51,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {4199#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4168#false} is VALID [2022-04-08 10:30:51,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {4168#false} assume !false; {4168#false} is VALID [2022-04-08 10:30:51,776 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-08 10:30:51,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:51,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1274502134] [2022-04-08 10:30:51,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1274502134] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:51,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:51,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:30:51,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:51,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [884785338] [2022-04-08 10:30:51,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [884785338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:51,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:51,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:30:51,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [223434630] [2022-04-08 10:30:51,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:51,778 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-04-08 10:30:51,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:51,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:51,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:51,800 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:30:51,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:51,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:30:51,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:30:51,801 INFO L87 Difference]: Start difference. First operand 52 states and 58 transitions. Second operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:52,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:52,552 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-08 10:30:52,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:30:52,553 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-04-08 10:30:52,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:52,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:52,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-04-08 10:30:52,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:52,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-04-08 10:30:52,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 51 transitions. [2022-04-08 10:30:52,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:52,605 INFO L225 Difference]: With dead ends: 60 [2022-04-08 10:30:52,605 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 10:30:52,605 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=79, Invalid=427, Unknown=0, NotChecked=0, Total=506 [2022-04-08 10:30:52,606 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 37 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 337 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 310 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:52,606 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 69 Invalid, 337 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 310 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:30:52,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 10:30:52,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 52. [2022-04-08 10:30:52,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:52,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:52,703 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:52,703 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:52,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:52,709 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-04-08 10:30:52,709 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-04-08 10:30:52,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:52,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:52,709 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 54 states. [2022-04-08 10:30:52,710 INFO L87 Difference]: Start difference. First operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 54 states. [2022-04-08 10:30:52,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:52,711 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-04-08 10:30:52,711 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-04-08 10:30:52,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:52,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:52,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:52,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:52,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:52,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 57 transitions. [2022-04-08 10:30:52,712 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 57 transitions. Word has length 37 [2022-04-08 10:30:52,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:52,713 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 57 transitions. [2022-04-08 10:30:52,713 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:52,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 57 transitions. [2022-04-08 10:30:52,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:52,782 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-08 10:30:52,783 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:30:52,783 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:52,783 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:52,783 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-08 10:30:52,783 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:52,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:52,784 INFO L85 PathProgramCache]: Analyzing trace with hash 2030931829, now seen corresponding path program 5 times [2022-04-08 10:30:52,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:52,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1007925705] [2022-04-08 10:30:52,786 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:52,786 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:52,787 INFO L85 PathProgramCache]: Analyzing trace with hash 2030931829, now seen corresponding path program 6 times [2022-04-08 10:30:52,787 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:52,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095065139] [2022-04-08 10:30:52,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:52,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:52,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:52,853 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:52,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:52,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {4590#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4560#true} is VALID [2022-04-08 10:30:52,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-08 10:30:52,858 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-08 10:30:52,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:52,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:52,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {4560#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4591#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:52,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {4591#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,937 INFO L290 TraceCheckUtils]: 4: Hoare triple {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {4594#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,938 INFO L290 TraceCheckUtils]: 6: Hoare triple {4594#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {4595#(and (<= correct_version_~w 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:52,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {4595#(and (<= correct_version_~w 4) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:52,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {4596#(<= |correct_version_#in~w| 4)} #res := ~is_divisible~0; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:52,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:52,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4596#(<= |correct_version_#in~w| 4)} {4560#true} #87#return; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:52,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-08 10:30:52,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:53,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {4560#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4597#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:30:53,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {4597#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4600#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:30:53,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {4600#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,027 INFO L290 TraceCheckUtils]: 10: Hoare triple {4602#(<= 5 |student_version_#in~w|)} #res := ~is_divisible~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,028 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4602#(<= 5 |student_version_#in~w|)} {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} #89#return; {4561#false} is VALID [2022-04-08 10:30:53,030 INFO L272 TraceCheckUtils]: 0: Hoare triple {4560#true} call ULTIMATE.init(); {4590#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:53,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {4590#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {4560#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-08 10:30:53,031 INFO L272 TraceCheckUtils]: 7: Hoare triple {4560#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:53,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {4560#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4591#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:53,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {4591#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,032 INFO L290 TraceCheckUtils]: 10: Hoare triple {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {4592#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {4593#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {4594#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {4594#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {4595#(and (<= correct_version_~w 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:53,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {4595#(and (<= correct_version_~w 4) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {4596#(<= |correct_version_#in~w| 4)} #res := ~is_divisible~0; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,036 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4596#(<= |correct_version_#in~w| 4)} {4560#true} #87#return; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:53,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:53,037 INFO L272 TraceCheckUtils]: 20: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:53,037 INFO L290 TraceCheckUtils]: 21: Hoare triple {4560#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4597#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:30:53,037 INFO L290 TraceCheckUtils]: 22: Hoare triple {4597#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,038 INFO L290 TraceCheckUtils]: 23: Hoare triple {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {4598#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,039 INFO L290 TraceCheckUtils]: 26: Hoare triple {4599#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4600#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:30:53,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {4600#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,040 INFO L290 TraceCheckUtils]: 28: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:53,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {4601#(and (<= 5 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {4602#(<= 5 |student_version_#in~w|)} #res := ~is_divisible~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,042 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,042 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4602#(<= 5 |student_version_#in~w|)} {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} #89#return; {4561#false} is VALID [2022-04-08 10:30:53,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {4561#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {4561#false} is VALID [2022-04-08 10:30:53,043 INFO L272 TraceCheckUtils]: 35: Hoare triple {4561#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {4561#false} is VALID [2022-04-08 10:30:53,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-08 10:30:53,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-08 10:30:53,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-08 10:30:53,044 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:53,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:53,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095065139] [2022-04-08 10:30:53,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1095065139] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:53,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [448222383] [2022-04-08 10:30:53,044 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:30:53,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:53,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:53,045 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:53,069 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 10:30:53,093 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:30:53,094 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:53,095 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 10:30:53,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:53,107 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:30:53,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {4560#true} call ULTIMATE.init(); {4560#true} is VALID [2022-04-08 10:30:53,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {4560#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {4560#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-08 10:30:53,651 INFO L272 TraceCheckUtils]: 7: Hoare triple {4560#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:53,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {4560#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4630#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:53,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {4630#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:30:53,656 INFO L290 TraceCheckUtils]: 10: Hoare triple {4634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {4634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:30:53,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {4634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {4641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:30:53,657 INFO L290 TraceCheckUtils]: 12: Hoare triple {4641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {4641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:30:53,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {4641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {4648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:30:53,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {4648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !(~i~0 < ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume !(~i~0 != ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {4596#(<= |correct_version_#in~w| 4)} #res := ~is_divisible~0; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,659 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:53,660 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4596#(<= |correct_version_#in~w| 4)} {4560#true} #87#return; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:53,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:53,661 INFO L272 TraceCheckUtils]: 20: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:53,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {4560#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4673#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {4673#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4677#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:30:53,662 INFO L290 TraceCheckUtils]: 23: Hoare triple {4677#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {4677#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:30:53,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {4677#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {4684#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:30:53,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {4684#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {4684#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:30:53,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {4684#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {4691#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:30:53,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {4691#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,665 INFO L290 TraceCheckUtils]: 28: Hoare triple {4602#(<= 5 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,665 INFO L290 TraceCheckUtils]: 29: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume !(~i~1 < ~w); {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {4602#(<= 5 |student_version_#in~w|)} #res := ~is_divisible~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,666 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:53,667 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4602#(<= 5 |student_version_#in~w|)} {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} #89#return; {4561#false} is VALID [2022-04-08 10:30:53,667 INFO L290 TraceCheckUtils]: 34: Hoare triple {4561#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {4561#false} is VALID [2022-04-08 10:30:53,668 INFO L272 TraceCheckUtils]: 35: Hoare triple {4561#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {4561#false} is VALID [2022-04-08 10:30:53,668 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-08 10:30:53,668 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-08 10:30:53,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-08 10:30:53,668 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:53,668 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:30:57,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-08 10:30:57,705 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-08 10:30:57,705 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-08 10:30:57,706 INFO L272 TraceCheckUtils]: 35: Hoare triple {4561#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {4561#false} is VALID [2022-04-08 10:30:57,706 INFO L290 TraceCheckUtils]: 34: Hoare triple {4561#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {4561#false} is VALID [2022-04-08 10:30:57,707 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4602#(<= 5 |student_version_#in~w|)} {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} #89#return; {4561#false} is VALID [2022-04-08 10:30:57,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {4602#(<= 5 |student_version_#in~w|)} #res := ~is_divisible~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,708 INFO L290 TraceCheckUtils]: 29: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume !(~i~1 < ~w); {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {4602#(<= 5 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {4764#(or (not (< student_version_~i~1 student_version_~w)) (<= 5 |student_version_#in~w|))} assume !!(~i~1 < ~w); {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-08 10:30:57,710 INFO L290 TraceCheckUtils]: 26: Hoare triple {4768#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 5 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {4764#(or (not (< student_version_~i~1 student_version_~w)) (<= 5 |student_version_#in~w|))} is VALID [2022-04-08 10:30:57,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {4768#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 5 |student_version_#in~w|))} assume !!(~i~1 < ~w); {4768#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 5 |student_version_#in~w|))} is VALID [2022-04-08 10:30:57,711 INFO L290 TraceCheckUtils]: 24: Hoare triple {4775#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 5 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {4768#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 5 |student_version_#in~w|))} is VALID [2022-04-08 10:30:57,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {4775#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 5 |student_version_#in~w|))} assume !!(~i~1 < ~w); {4775#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 5 |student_version_#in~w|))} is VALID [2022-04-08 10:30:57,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {4782#(or (<= 5 |student_version_#in~w|) (<= student_version_~w 4))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {4775#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 5 |student_version_#in~w|))} is VALID [2022-04-08 10:30:57,712 INFO L290 TraceCheckUtils]: 21: Hoare triple {4560#true} ~w := #in~w;~is_divisible~1 := ~true~0; {4782#(or (<= 5 |student_version_#in~w|) (<= student_version_~w 4))} is VALID [2022-04-08 10:30:57,712 INFO L272 TraceCheckUtils]: 20: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:57,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:57,714 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4596#(<= |correct_version_#in~w| 4)} {4560#true} #87#return; {4576#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 4)))} is VALID [2022-04-08 10:30:57,714 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:57,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {4596#(<= |correct_version_#in~w| 4)} #res := ~is_divisible~0; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:57,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume !(~i~0 != ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:57,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {4807#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 4))} assume !(~i~0 < ~w); {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-08 10:30:57,716 INFO L290 TraceCheckUtils]: 13: Hoare triple {4811#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {4807#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 4))} is VALID [2022-04-08 10:30:57,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {4811#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {4811#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:30:57,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {4818#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {4811#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:30:57,717 INFO L290 TraceCheckUtils]: 10: Hoare triple {4818#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {4818#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:30:57,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {4825#(or (<= |correct_version_#in~w| 4) (< 4 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {4818#(or (<= |correct_version_#in~w| 4) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:30:57,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {4560#true} ~w := #in~w;~is_divisible~0 := ~true~0; {4825#(or (<= |correct_version_#in~w| 4) (< 4 correct_version_~w))} is VALID [2022-04-08 10:30:57,718 INFO L272 TraceCheckUtils]: 7: Hoare triple {4560#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {4560#true} is VALID [2022-04-08 10:30:57,718 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-08 10:30:57,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {4560#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {4560#true} is VALID [2022-04-08 10:30:57,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-08 10:30:57,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-08 10:30:57,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-08 10:30:57,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {4560#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {4560#true} is VALID [2022-04-08 10:30:57,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {4560#true} call ULTIMATE.init(); {4560#true} is VALID [2022-04-08 10:30:57,719 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 9 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:57,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [448222383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:30:57,719 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:30:57,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 13] total 32 [2022-04-08 10:30:57,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:30:57,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1007925705] [2022-04-08 10:30:57,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1007925705] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:30:57,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:30:57,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 10:30:57,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078027723] [2022-04-08 10:30:57,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:30:57,721 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-08 10:30:57,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:30:57,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:57,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:57,773 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 10:30:57,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:57,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 10:30:57,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-08 10:30:57,774 INFO L87 Difference]: Start difference. First operand 52 states and 57 transitions. Second operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:58,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:58,668 INFO L93 Difference]: Finished difference Result 67 states and 72 transitions. [2022-04-08 10:30:58,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:30:58,669 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-08 10:30:58,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:30:58,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:58,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-08 10:30:58,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:58,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-08 10:30:58,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 64 transitions. [2022-04-08 10:30:58,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:30:58,737 INFO L225 Difference]: With dead ends: 67 [2022-04-08 10:30:58,737 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 10:30:58,738 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 5 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 600 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=309, Invalid=1497, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 10:30:58,738 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 82 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 318 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:30:58,739 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 57 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:30:58,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 10:30:58,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2022-04-08 10:30:58,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:30:58,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:58,824 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:58,824 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:58,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:58,826 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2022-04-08 10:30:58,826 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-08 10:30:58,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:58,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:58,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 55 states. [2022-04-08 10:30:58,826 INFO L87 Difference]: Start difference. First operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 55 states. [2022-04-08 10:30:58,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:30:58,827 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2022-04-08 10:30:58,828 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-08 10:30:58,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:30:58,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:30:58,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:30:58,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:30:58,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 39 states have (on average 1.1282051282051282) internal successors, (44), 41 states have internal predecessors, (44), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:30:58,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-04-08 10:30:58,829 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 39 [2022-04-08 10:30:58,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:30:58,829 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-04-08 10:30:58,830 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:30:58,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 55 transitions. [2022-04-08 10:30:58,891 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-08 10:30:58,891 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-08 10:30:58,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:30:58,891 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:30:58,891 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:30:58,913 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-08 10:30:59,111 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:59,111 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:30:59,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:30:59,112 INFO L85 PathProgramCache]: Analyzing trace with hash -1514673707, now seen corresponding path program 5 times [2022-04-08 10:30:59,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:30:59,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1286468733] [2022-04-08 10:30:59,114 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:30:59,114 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:30:59,114 INFO L85 PathProgramCache]: Analyzing trace with hash -1514673707, now seen corresponding path program 6 times [2022-04-08 10:30:59,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:30:59,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1049904456] [2022-04-08 10:30:59,115 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:30:59,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:30:59,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:59,156 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:30:59,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:59,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {5250#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5220#true} is VALID [2022-04-08 10:30:59,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-08 10:30:59,160 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-08 10:30:59,160 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:30:59,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:59,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {5220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5251#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:59,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {5251#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,226 INFO L290 TraceCheckUtils]: 4: Hoare triple {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5254#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,227 INFO L290 TraceCheckUtils]: 6: Hoare triple {5254#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,228 INFO L290 TraceCheckUtils]: 10: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} #res := ~is_divisible~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,230 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5256#(<= 5 |correct_version_#in~w|)} {5220#true} #87#return; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:30:59,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:30:59,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:59,313 INFO L290 TraceCheckUtils]: 0: Hoare triple {5220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5257#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:30:59,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {5257#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:30:59,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:30:59,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,315 INFO L290 TraceCheckUtils]: 4: Hoare triple {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5260#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {5260#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {5261#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 4))} is VALID [2022-04-08 10:30:59,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {5261#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 4))} assume !(~i~1 != ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {5262#(<= |student_version_#in~w| 4)} #res := ~is_divisible~1; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5262#(<= |student_version_#in~w| 4)} {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} #89#return; {5221#false} is VALID [2022-04-08 10:30:59,319 INFO L272 TraceCheckUtils]: 0: Hoare triple {5220#true} call ULTIMATE.init(); {5250#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:30:59,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {5250#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5220#true} is VALID [2022-04-08 10:30:59,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-08 10:30:59,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-08 10:30:59,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-08 10:30:59,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {5220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5220#true} is VALID [2022-04-08 10:30:59,322 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-08 10:30:59,322 INFO L272 TraceCheckUtils]: 7: Hoare triple {5220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:30:59,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {5220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5251#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:30:59,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {5251#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,324 INFO L290 TraceCheckUtils]: 10: Hoare triple {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {5252#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:30:59,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {5253#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5254#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {5254#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:30:59,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {5255#(and (<= 5 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,332 INFO L290 TraceCheckUtils]: 18: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} #res := ~is_divisible~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:30:59,333 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5256#(<= 5 |correct_version_#in~w|)} {5220#true} #87#return; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:30:59,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:30:59,334 INFO L272 TraceCheckUtils]: 22: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:30:59,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {5220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5257#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:30:59,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {5257#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:30:59,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:30:59,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {5258#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {5259#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5260#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:30:59,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {5260#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {5261#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 4))} is VALID [2022-04-08 10:30:59,338 INFO L290 TraceCheckUtils]: 30: Hoare triple {5261#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 4))} assume !(~i~1 != ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,338 INFO L290 TraceCheckUtils]: 31: Hoare triple {5262#(<= |student_version_#in~w| 4)} #res := ~is_divisible~1; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,339 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:30:59,340 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5262#(<= |student_version_#in~w| 4)} {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} #89#return; {5221#false} is VALID [2022-04-08 10:30:59,340 INFO L290 TraceCheckUtils]: 34: Hoare triple {5221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5221#false} is VALID [2022-04-08 10:30:59,340 INFO L272 TraceCheckUtils]: 35: Hoare triple {5221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5221#false} is VALID [2022-04-08 10:30:59,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-08 10:30:59,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-08 10:30:59,340 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-08 10:30:59,341 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:30:59,341 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:30:59,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1049904456] [2022-04-08 10:30:59,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1049904456] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:30:59,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [185892497] [2022-04-08 10:30:59,342 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:30:59,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:30:59,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:30:59,343 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:30:59,367 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 10:30:59,393 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:30:59,394 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:30:59,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 10:30:59,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:30:59,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:00,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {5220#true} call ULTIMATE.init(); {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {5220#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {5220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L272 TraceCheckUtils]: 7: Hoare triple {5220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:31:00,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {5220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5290#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {5290#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5294#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:00,238 INFO L290 TraceCheckUtils]: 10: Hoare triple {5294#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {5294#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:00,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {5294#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5301#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:00,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {5301#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {5301#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:00,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {5301#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {5308#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:00,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {5308#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,240 INFO L290 TraceCheckUtils]: 15: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,240 INFO L290 TraceCheckUtils]: 16: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume !(~i~0 < ~w); {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,241 INFO L290 TraceCheckUtils]: 17: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,241 INFO L290 TraceCheckUtils]: 18: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} #res := ~is_divisible~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:00,242 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5256#(<= 5 |correct_version_#in~w|)} {5220#true} #87#return; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:31:00,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:31:00,243 INFO L272 TraceCheckUtils]: 22: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:31:00,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {5220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5339#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:00,243 INFO L290 TraceCheckUtils]: 24: Hoare triple {5339#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5343#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:00,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {5343#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {5343#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:00,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {5343#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {5350#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:00,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {5350#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {5350#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:00,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {5350#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {5357#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:00,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {5357#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !(~i~1 < ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:00,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume !(~i~1 != ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:00,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {5262#(<= |student_version_#in~w| 4)} #res := ~is_divisible~1; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:00,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:00,247 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5262#(<= |student_version_#in~w| 4)} {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} #89#return; {5221#false} is VALID [2022-04-08 10:31:00,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {5221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5221#false} is VALID [2022-04-08 10:31:00,248 INFO L272 TraceCheckUtils]: 35: Hoare triple {5221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5221#false} is VALID [2022-04-08 10:31:00,248 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-08 10:31:00,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-08 10:31:00,248 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-08 10:31:00,248 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:00,248 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:03,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-08 10:31:03,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-08 10:31:03,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-08 10:31:03,851 INFO L272 TraceCheckUtils]: 35: Hoare triple {5221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5221#false} is VALID [2022-04-08 10:31:03,852 INFO L290 TraceCheckUtils]: 34: Hoare triple {5221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5221#false} is VALID [2022-04-08 10:31:03,852 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5262#(<= |student_version_#in~w| 4)} {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} #89#return; {5221#false} is VALID [2022-04-08 10:31:03,853 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:03,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {5262#(<= |student_version_#in~w| 4)} #res := ~is_divisible~1; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:03,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume !(~i~1 != ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:03,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {5418#(or (<= |student_version_#in~w| 4) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-08 10:31:03,854 INFO L290 TraceCheckUtils]: 28: Hoare triple {5422#(or (<= |student_version_#in~w| 4) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {5418#(or (<= |student_version_#in~w| 4) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:31:03,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {5422#(or (<= |student_version_#in~w| 4) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {5422#(or (<= |student_version_#in~w| 4) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:03,855 INFO L290 TraceCheckUtils]: 26: Hoare triple {5429#(or (<= |student_version_#in~w| 4) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {5422#(or (<= |student_version_#in~w| 4) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:03,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {5429#(or (<= |student_version_#in~w| 4) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {5429#(or (<= |student_version_#in~w| 4) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:31:03,856 INFO L290 TraceCheckUtils]: 24: Hoare triple {5436#(or (<= |student_version_#in~w| 4) (< 4 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5429#(or (<= |student_version_#in~w| 4) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:31:03,856 INFO L290 TraceCheckUtils]: 23: Hoare triple {5220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5436#(or (<= |student_version_#in~w| 4) (< 4 student_version_~w))} is VALID [2022-04-08 10:31:03,856 INFO L272 TraceCheckUtils]: 22: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:31:03,859 INFO L290 TraceCheckUtils]: 21: Hoare triple {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:31:03,860 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5256#(<= 5 |correct_version_#in~w|)} {5220#true} #87#return; {5238#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 5) main_~w~0))} is VALID [2022-04-08 10:31:03,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} #res := ~is_divisible~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume !(~i~0 < ~w); {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {5467#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 5 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:03,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {5471#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 5 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {5467#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,863 INFO L290 TraceCheckUtils]: 12: Hoare triple {5471#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 5 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {5471#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {5478#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 5 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {5471#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {5478#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 5 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {5478#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {5485#(or (<= correct_version_~w 4) (<= 5 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5478#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {5220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5485#(or (<= correct_version_~w 4) (<= 5 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:03,865 INFO L272 TraceCheckUtils]: 7: Hoare triple {5220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {5220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {5220#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5220#true} is VALID [2022-04-08 10:31:03,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {5220#true} call ULTIMATE.init(); {5220#true} is VALID [2022-04-08 10:31:03,866 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 9 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:03,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [185892497] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:03,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:03,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 13] total 32 [2022-04-08 10:31:03,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:03,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1286468733] [2022-04-08 10:31:03,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1286468733] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:03,867 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:03,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 10:31:03,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1268276572] [2022-04-08 10:31:03,867 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:03,867 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-08 10:31:03,868 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:03,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:03,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:03,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 10:31:03,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:03,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 10:31:03,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-08 10:31:03,895 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:04,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:04,702 INFO L93 Difference]: Finished difference Result 61 states and 64 transitions. [2022-04-08 10:31:04,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 10:31:04,703 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-04-08 10:31:04,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:04,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:04,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2022-04-08 10:31:04,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:04,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2022-04-08 10:31:04,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 56 transitions. [2022-04-08 10:31:04,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:04,755 INFO L225 Difference]: With dead ends: 61 [2022-04-08 10:31:04,755 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 10:31:04,755 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 5 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 583 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=309, Invalid=1497, Unknown=0, NotChecked=0, Total=1806 [2022-04-08 10:31:04,756 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 67 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 318 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:04,756 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 65 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 298 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:31:04,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 10:31:04,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-08 10:31:04,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:04,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:04,850 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:04,851 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:04,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:04,852 INFO L93 Difference]: Finished difference Result 51 states and 54 transitions. [2022-04-08 10:31:04,852 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 54 transitions. [2022-04-08 10:31:04,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:04,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:04,853 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 51 states. [2022-04-08 10:31:04,853 INFO L87 Difference]: Start difference. First operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 51 states. [2022-04-08 10:31:04,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:04,854 INFO L93 Difference]: Finished difference Result 51 states and 54 transitions. [2022-04-08 10:31:04,854 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 54 transitions. [2022-04-08 10:31:04,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:04,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:04,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:04,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:04,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 38 states have (on average 1.105263157894737) internal successors, (42), 40 states have internal predecessors, (42), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:04,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 53 transitions. [2022-04-08 10:31:04,855 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 53 transitions. Word has length 39 [2022-04-08 10:31:04,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:04,856 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 53 transitions. [2022-04-08 10:31:04,856 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.9375) internal successors, (31), 15 states have internal predecessors, (31), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:04,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 53 transitions. [2022-04-08 10:31:04,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:04,921 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2022-04-08 10:31:04,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 10:31:04,923 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:04,923 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:04,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 10:31:05,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 10:31:05,127 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:05,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:05,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1355746345, now seen corresponding path program 7 times [2022-04-08 10:31:05,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:05,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [974241467] [2022-04-08 10:31:05,135 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:05,135 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:05,135 INFO L85 PathProgramCache]: Analyzing trace with hash -1355746345, now seen corresponding path program 8 times [2022-04-08 10:31:05,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:05,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [878997704] [2022-04-08 10:31:05,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:05,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:05,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:05,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {5890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5858#true} is VALID [2022-04-08 10:31:05,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-08 10:31:05,189 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-08 10:31:05,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:05,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,280 INFO L290 TraceCheckUtils]: 0: Hoare triple {5858#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5891#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:05,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {5891#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,281 INFO L290 TraceCheckUtils]: 3: Hoare triple {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,282 INFO L290 TraceCheckUtils]: 4: Hoare triple {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5895#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {5895#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {5896#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {5896#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,285 INFO L290 TraceCheckUtils]: 10: Hoare triple {5897#(<= |correct_version_#in~w| 5)} #res := ~is_divisible~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,285 INFO L290 TraceCheckUtils]: 11: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,286 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5897#(<= |correct_version_#in~w| 5)} {5858#true} #87#return; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:05,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:31:05,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {5858#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5898#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:05,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {5898#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,367 INFO L290 TraceCheckUtils]: 3: Hoare triple {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,367 INFO L290 TraceCheckUtils]: 4: Hoare triple {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:05,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:05,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:05,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !(~i~1 < ~w); {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:05,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !(~i~1 != ~w); {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,370 INFO L290 TraceCheckUtils]: 10: Hoare triple {5903#(<= 6 |student_version_#in~w|)} #res := ~is_divisible~1; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,371 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5903#(<= 6 |student_version_#in~w|)} {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} #89#return; {5859#false} is VALID [2022-04-08 10:31:05,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {5858#true} call ULTIMATE.init(); {5890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:05,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {5890#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5858#true} is VALID [2022-04-08 10:31:05,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {5858#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L272 TraceCheckUtils]: 7: Hoare triple {5858#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:05,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {5858#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5891#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:05,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {5891#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {5892#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,375 INFO L290 TraceCheckUtils]: 12: Hoare triple {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {5893#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {5894#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {5895#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {5895#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {5896#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:05,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {5896#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 6)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,378 INFO L290 TraceCheckUtils]: 18: Hoare triple {5897#(<= |correct_version_#in~w| 5)} #res := ~is_divisible~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:05,379 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5897#(<= |correct_version_#in~w| 5)} {5858#true} #87#return; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:05,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:05,380 INFO L272 TraceCheckUtils]: 22: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:05,380 INFO L290 TraceCheckUtils]: 23: Hoare triple {5858#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5898#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:05,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {5898#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {5899#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:05,383 INFO L290 TraceCheckUtils]: 28: Hoare triple {5900#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:05,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:05,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {5901#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:05,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !(~i~1 < ~w); {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:05,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {5902#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !(~i~1 != ~w); {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,385 INFO L290 TraceCheckUtils]: 33: Hoare triple {5903#(<= 6 |student_version_#in~w|)} #res := ~is_divisible~1; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:05,386 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5903#(<= 6 |student_version_#in~w|)} {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} #89#return; {5859#false} is VALID [2022-04-08 10:31:05,386 INFO L290 TraceCheckUtils]: 36: Hoare triple {5859#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5859#false} is VALID [2022-04-08 10:31:05,386 INFO L272 TraceCheckUtils]: 37: Hoare triple {5859#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5859#false} is VALID [2022-04-08 10:31:05,387 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-08 10:31:05,387 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-08 10:31:05,387 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-08 10:31:05,387 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:05,387 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:05,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [878997704] [2022-04-08 10:31:05,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [878997704] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:05,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [191856569] [2022-04-08 10:31:05,388 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:31:05,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:05,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:05,392 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:05,396 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 10:31:05,435 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:31:05,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:05,435 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 10:31:05,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:05,448 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:06,087 INFO L272 TraceCheckUtils]: 0: Hoare triple {5858#true} call ULTIMATE.init(); {5858#true} is VALID [2022-04-08 10:31:06,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {5858#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5858#true} is VALID [2022-04-08 10:31:06,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-08 10:31:06,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-08 10:31:06,087 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-08 10:31:06,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {5858#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5858#true} is VALID [2022-04-08 10:31:06,088 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-08 10:31:06,088 INFO L272 TraceCheckUtils]: 7: Hoare triple {5858#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:06,090 INFO L290 TraceCheckUtils]: 8: Hoare triple {5858#true} ~w := #in~w;~is_divisible~0 := ~true~0; {5931#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:06,090 INFO L290 TraceCheckUtils]: 9: Hoare triple {5931#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {5935#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:06,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {5935#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {5935#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:06,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {5935#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {5942#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:06,091 INFO L290 TraceCheckUtils]: 12: Hoare triple {5942#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {5942#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:06,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {5942#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {5949#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:06,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {5949#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {5949#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:06,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {5949#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {5956#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:31:06,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {5956#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !(~i~0 < ~w); {5960#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:31:06,094 INFO L290 TraceCheckUtils]: 17: Hoare triple {5960#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 6))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:06,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {5897#(<= |correct_version_#in~w| 5)} #res := ~is_divisible~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:06,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:06,095 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5897#(<= |correct_version_#in~w| 5)} {5858#true} #87#return; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:06,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:06,095 INFO L272 TraceCheckUtils]: 22: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:06,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {5858#true} ~w := #in~w;~is_divisible~1 := ~true~0; {5982#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:31:06,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {5982#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {5986#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {5986#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {5986#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {5986#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {5993#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {5993#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {5993#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,098 INFO L290 TraceCheckUtils]: 28: Hoare triple {5993#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {6000#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:06,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {6000#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {6000#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:06,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {6000#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {6007#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,099 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {6007#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:06,099 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:06,100 INFO L290 TraceCheckUtils]: 33: Hoare triple {5903#(<= 6 |student_version_#in~w|)} #res := ~is_divisible~1; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:06,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:06,101 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5903#(<= 6 |student_version_#in~w|)} {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} #89#return; {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {5859#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L272 TraceCheckUtils]: 37: Hoare triple {5859#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-08 10:31:06,101 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:06,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:17,030 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-08 10:31:17,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-08 10:31:17,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-08 10:31:17,030 INFO L272 TraceCheckUtils]: 37: Hoare triple {5859#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {5859#false} is VALID [2022-04-08 10:31:17,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {5859#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {5859#false} is VALID [2022-04-08 10:31:17,031 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5903#(<= 6 |student_version_#in~w|)} {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} #89#return; {5859#false} is VALID [2022-04-08 10:31:17,031 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:17,032 INFO L290 TraceCheckUtils]: 33: Hoare triple {5903#(<= 6 |student_version_#in~w|)} #res := ~is_divisible~1; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:17,032 INFO L290 TraceCheckUtils]: 32: Hoare triple {6065#(or (<= 6 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-08 10:31:17,032 INFO L290 TraceCheckUtils]: 31: Hoare triple {6065#(or (<= 6 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {6065#(or (<= 6 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:31:17,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {6072#(or (<= 6 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {6065#(or (<= 6 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:31:17,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {6072#(or (<= 6 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {6072#(or (<= 6 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:17,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {6079#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 6 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {6072#(or (<= 6 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:17,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {6079#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 6 |student_version_#in~w|))} assume !!(~i~1 < ~w); {6079#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 6 |student_version_#in~w|))} is VALID [2022-04-08 10:31:17,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {6086#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 6 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {6079#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 6 |student_version_#in~w|))} is VALID [2022-04-08 10:31:17,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {6086#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 6 |student_version_#in~w|))} assume !!(~i~1 < ~w); {6086#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 6 |student_version_#in~w|))} is VALID [2022-04-08 10:31:17,035 INFO L290 TraceCheckUtils]: 24: Hoare triple {6093#(or (< student_version_~w 6) (<= 6 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {6086#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 6 |student_version_#in~w|))} is VALID [2022-04-08 10:31:17,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {5858#true} ~w := #in~w;~is_divisible~1 := ~true~0; {6093#(or (< student_version_~w 6) (<= 6 |student_version_#in~w|))} is VALID [2022-04-08 10:31:17,035 INFO L272 TraceCheckUtils]: 22: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:17,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:17,037 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {5897#(<= |correct_version_#in~w| 5)} {5858#true} #87#return; {5876#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 5)))} is VALID [2022-04-08 10:31:17,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:17,037 INFO L290 TraceCheckUtils]: 18: Hoare triple {5897#(<= |correct_version_#in~w| 5)} #res := ~is_divisible~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:17,037 INFO L290 TraceCheckUtils]: 17: Hoare triple {6115#(or (<= |correct_version_#in~w| 5) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-08 10:31:17,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {6119#(or (<= |correct_version_#in~w| 5) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {6115#(or (<= |correct_version_#in~w| 5) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:31:17,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {6123#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {6119#(or (<= |correct_version_#in~w| 5) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:31:17,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {6123#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {6123#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:17,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {6130#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {6123#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:17,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {6130#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {6130#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:31:17,040 INFO L290 TraceCheckUtils]: 11: Hoare triple {6137#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {6130#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:31:17,040 INFO L290 TraceCheckUtils]: 10: Hoare triple {6137#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {6137#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:31:17,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {6144#(or (<= |correct_version_#in~w| 5) (<= 6 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {6137#(or (<= |correct_version_#in~w| 5) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:31:17,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {5858#true} ~w := #in~w;~is_divisible~0 := ~true~0; {6144#(or (<= |correct_version_#in~w| 5) (<= 6 correct_version_~w))} is VALID [2022-04-08 10:31:17,041 INFO L272 TraceCheckUtils]: 7: Hoare triple {5858#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {5858#true} is VALID [2022-04-08 10:31:17,041 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-08 10:31:17,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {5858#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {5858#true} is VALID [2022-04-08 10:31:17,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-08 10:31:17,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-08 10:31:17,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-08 10:31:17,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {5858#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {5858#true} is VALID [2022-04-08 10:31:17,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {5858#true} call ULTIMATE.init(); {5858#true} is VALID [2022-04-08 10:31:17,042 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:17,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [191856569] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:17,042 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:17,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 39 [2022-04-08 10:31:17,042 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:17,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [974241467] [2022-04-08 10:31:17,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [974241467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:17,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:17,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:31:17,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [337511520] [2022-04-08 10:31:17,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:17,043 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-08 10:31:17,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:17,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:17,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:17,070 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:31:17,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:17,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:31:17,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=239, Invalid=1243, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:31:17,070 INFO L87 Difference]: Start difference. First operand 50 states and 53 transitions. Second operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:17,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:17,921 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-08 10:31:17,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:31:17,922 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-08 10:31:17,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:17,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:17,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 72 transitions. [2022-04-08 10:31:17,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:17,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 72 transitions. [2022-04-08 10:31:17,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 72 transitions. [2022-04-08 10:31:17,989 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:17,990 INFO L225 Difference]: With dead ends: 70 [2022-04-08 10:31:17,990 INFO L226 Difference]: Without dead ends: 59 [2022-04-08 10:31:17,991 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 59 SyntacticMatches, 5 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 937 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=437, Invalid=2319, Unknown=0, NotChecked=0, Total=2756 [2022-04-08 10:31:17,992 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 80 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 315 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:17,992 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 57 Invalid, 315 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:31:17,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-08 10:31:18,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 53. [2022-04-08 10:31:18,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:18,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:18,104 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:18,104 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:18,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:18,106 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-08 10:31:18,106 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-08 10:31:18,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:18,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:18,107 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:31:18,107 INFO L87 Difference]: Start difference. First operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:31:18,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:18,108 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-08 10:31:18,108 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-08 10:31:18,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:18,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:18,109 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:18,109 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:18,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:18,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-08 10:31:18,110 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-08 10:31:18,110 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:18,110 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-08 10:31:18,110 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:18,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-08 10:31:18,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:18,175 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-08 10:31:18,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-08 10:31:18,175 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:18,175 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:18,192 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 10:31:18,379 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 10:31:18,379 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:18,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:18,380 INFO L85 PathProgramCache]: Analyzing trace with hash 2125149075, now seen corresponding path program 7 times [2022-04-08 10:31:18,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:18,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1935160627] [2022-04-08 10:31:18,382 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:18,382 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:18,382 INFO L85 PathProgramCache]: Analyzing trace with hash 2125149075, now seen corresponding path program 8 times [2022-04-08 10:31:18,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:18,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791672013] [2022-04-08 10:31:18,383 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:18,383 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:18,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:18,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:18,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:18,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {6595#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {6563#true} is VALID [2022-04-08 10:31:18,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-08 10:31:18,435 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-08 10:31:18,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:18,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:18,508 INFO L290 TraceCheckUtils]: 0: Hoare triple {6563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {6596#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:18,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {6596#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,510 INFO L290 TraceCheckUtils]: 3: Hoare triple {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,510 INFO L290 TraceCheckUtils]: 4: Hoare triple {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,513 INFO L290 TraceCheckUtils]: 10: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} #res := ~is_divisible~0; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,514 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6601#(<= 6 |correct_version_#in~w|)} {6563#true} #87#return; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:18,515 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:31:18,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:18,643 INFO L290 TraceCheckUtils]: 0: Hoare triple {6563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {6602#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:18,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {6602#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:18,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:18,644 INFO L290 TraceCheckUtils]: 3: Hoare triple {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,645 INFO L290 TraceCheckUtils]: 4: Hoare triple {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,646 INFO L290 TraceCheckUtils]: 6: Hoare triple {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {6606#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,647 INFO L290 TraceCheckUtils]: 8: Hoare triple {6606#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {6607#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:31:18,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {6607#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,648 INFO L290 TraceCheckUtils]: 10: Hoare triple {6608#(<= |student_version_#in~w| 5)} #res := ~is_divisible~1; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,649 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6608#(<= |student_version_#in~w| 5)} {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} #89#return; {6564#false} is VALID [2022-04-08 10:31:18,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {6563#true} call ULTIMATE.init(); {6595#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:18,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {6595#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {6563#true} is VALID [2022-04-08 10:31:18,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-08 10:31:18,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-08 10:31:18,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-08 10:31:18,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {6563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {6563#true} is VALID [2022-04-08 10:31:18,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-08 10:31:18,651 INFO L272 TraceCheckUtils]: 7: Hoare triple {6563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:18,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {6563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {6596#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:18,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {6596#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {6597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:18,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {6598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {6599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:18,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {6600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} #res := ~is_divisible~0; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:18,657 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6601#(<= 6 |correct_version_#in~w|)} {6563#true} #87#return; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:18,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:18,658 INFO L272 TraceCheckUtils]: 22: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:18,658 INFO L290 TraceCheckUtils]: 23: Hoare triple {6563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {6602#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:18,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {6602#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:18,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:18,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {6603#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {6604#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {6605#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {6606#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:18,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {6606#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {6607#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:31:18,663 INFO L290 TraceCheckUtils]: 32: Hoare triple {6607#(and (or (<= student_version_~i~1 6) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,663 INFO L290 TraceCheckUtils]: 33: Hoare triple {6608#(<= |student_version_#in~w| 5)} #res := ~is_divisible~1; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:18,665 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6608#(<= |student_version_#in~w| 5)} {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} #89#return; {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {6564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L272 TraceCheckUtils]: 37: Hoare triple {6564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-08 10:31:18,665 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:18,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:18,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [791672013] [2022-04-08 10:31:18,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [791672013] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:18,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1275414623] [2022-04-08 10:31:18,666 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:31:18,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:18,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:18,667 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:18,697 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 10:31:18,722 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:31:18,722 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:18,723 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 10:31:18,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:18,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:19,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {6563#true} call ULTIMATE.init(); {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {6563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {6563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-08 10:31:19,622 INFO L272 TraceCheckUtils]: 7: Hoare triple {6563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:19,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {6563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {6636#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:31:19,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {6636#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {6640#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,623 INFO L290 TraceCheckUtils]: 10: Hoare triple {6640#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {6640#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,624 INFO L290 TraceCheckUtils]: 11: Hoare triple {6640#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6647#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,624 INFO L290 TraceCheckUtils]: 12: Hoare triple {6647#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {6647#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,625 INFO L290 TraceCheckUtils]: 13: Hoare triple {6647#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6654#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,625 INFO L290 TraceCheckUtils]: 14: Hoare triple {6654#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {6654#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:19,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {6654#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {6661#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:31:19,626 INFO L290 TraceCheckUtils]: 16: Hoare triple {6661#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !(~i~0 < ~w); {6661#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:31:19,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {6661#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !(~i~0 != ~w); {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:19,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} #res := ~is_divisible~0; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:19,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:19,628 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6601#(<= 6 |correct_version_#in~w|)} {6563#true} #87#return; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:19,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:19,628 INFO L272 TraceCheckUtils]: 22: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:19,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {6563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {6686#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:19,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {6686#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {6690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:19,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {6690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {6690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:19,630 INFO L290 TraceCheckUtils]: 26: Hoare triple {6690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {6697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:19,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {6697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {6697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:19,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {6697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {6704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:19,631 INFO L290 TraceCheckUtils]: 29: Hoare triple {6704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {6704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:19,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {6704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {6711#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:19,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {6711#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !(~i~1 < ~w); {6715#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:19,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {6715#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 6))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:19,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {6608#(<= |student_version_#in~w| 5)} #res := ~is_divisible~1; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:19,633 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:19,633 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6608#(<= |student_version_#in~w| 5)} {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} #89#return; {6564#false} is VALID [2022-04-08 10:31:19,633 INFO L290 TraceCheckUtils]: 36: Hoare triple {6564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {6564#false} is VALID [2022-04-08 10:31:19,633 INFO L272 TraceCheckUtils]: 37: Hoare triple {6564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {6564#false} is VALID [2022-04-08 10:31:19,634 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-08 10:31:19,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-08 10:31:19,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-08 10:31:19,634 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:19,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:29,843 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-08 10:31:29,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-08 10:31:29,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-08 10:31:29,843 INFO L272 TraceCheckUtils]: 37: Hoare triple {6564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {6564#false} is VALID [2022-04-08 10:31:29,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {6564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {6564#false} is VALID [2022-04-08 10:31:29,844 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6608#(<= |student_version_#in~w| 5)} {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} #89#return; {6564#false} is VALID [2022-04-08 10:31:29,844 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:29,845 INFO L290 TraceCheckUtils]: 33: Hoare triple {6608#(<= |student_version_#in~w| 5)} #res := ~is_divisible~1; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:29,845 INFO L290 TraceCheckUtils]: 32: Hoare triple {6770#(or (<= |student_version_#in~w| 5) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-08 10:31:29,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {6774#(or (<= |student_version_#in~w| 5) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {6770#(or (<= |student_version_#in~w| 5) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:31:29,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {6778#(or (<= |student_version_#in~w| 5) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {6774#(or (<= |student_version_#in~w| 5) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:31:29,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {6778#(or (<= |student_version_#in~w| 5) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {6778#(or (<= |student_version_#in~w| 5) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:29,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {6785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 5))} ~i~1 := 2 + ~i~1; {6778#(or (<= |student_version_#in~w| 5) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:29,847 INFO L290 TraceCheckUtils]: 27: Hoare triple {6785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 5))} assume !!(~i~1 < ~w); {6785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 5))} is VALID [2022-04-08 10:31:29,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {6792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 5))} ~i~1 := 2 + ~i~1; {6785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 5))} is VALID [2022-04-08 10:31:29,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {6792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 5))} assume !!(~i~1 < ~w); {6792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 5))} is VALID [2022-04-08 10:31:29,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {6799#(or (<= |student_version_#in~w| 5) (<= 6 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {6792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 5))} is VALID [2022-04-08 10:31:29,848 INFO L290 TraceCheckUtils]: 23: Hoare triple {6563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {6799#(or (<= |student_version_#in~w| 5) (<= 6 student_version_~w))} is VALID [2022-04-08 10:31:29,849 INFO L272 TraceCheckUtils]: 22: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:29,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:29,850 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6601#(<= 6 |correct_version_#in~w|)} {6563#true} #87#return; {6581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 6) main_~w~0))} is VALID [2022-04-08 10:31:29,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:29,850 INFO L290 TraceCheckUtils]: 18: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} #res := ~is_divisible~0; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:29,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {6821#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 6 |correct_version_#in~w|))} assume !(~i~0 != ~w); {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:29,860 INFO L290 TraceCheckUtils]: 16: Hoare triple {6821#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 6 |correct_version_#in~w|))} assume !(~i~0 < ~w); {6821#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {6828#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 6 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {6821#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {6828#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 6 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {6828#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {6835#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 6 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {6828#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {6835#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 6 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {6835#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {6842#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 6 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {6835#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {6842#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 6 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {6842#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {6849#(or (< correct_version_~w 6) (<= 6 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {6842#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {6563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {6849#(or (< correct_version_~w 6) (<= 6 |correct_version_#in~w|))} is VALID [2022-04-08 10:31:29,864 INFO L272 TraceCheckUtils]: 7: Hoare triple {6563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {6563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {6563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {6563#true} call ULTIMATE.init(); {6563#true} is VALID [2022-04-08 10:31:29,865 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:29,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1275414623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:29,865 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:29,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 39 [2022-04-08 10:31:29,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:29,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1935160627] [2022-04-08 10:31:29,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1935160627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:29,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:29,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 10:31:29,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1629287931] [2022-04-08 10:31:29,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:29,866 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-08 10:31:29,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:29,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:29,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:29,895 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 10:31:29,896 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:29,896 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 10:31:29,896 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=239, Invalid=1243, Unknown=0, NotChecked=0, Total=1482 [2022-04-08 10:31:29,896 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:30,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:30,714 INFO L93 Difference]: Finished difference Result 65 states and 70 transitions. [2022-04-08 10:31:30,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 10:31:30,714 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-04-08 10:31:30,714 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:30,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:30,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-08 10:31:30,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:30,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-08 10:31:30,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-08 10:31:30,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:30,781 INFO L225 Difference]: With dead ends: 65 [2022-04-08 10:31:30,781 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 10:31:30,782 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 59 SyntacticMatches, 5 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 941 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=437, Invalid=2319, Unknown=0, NotChecked=0, Total=2756 [2022-04-08 10:31:30,783 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 83 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:30,783 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 55 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 280 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:31:30,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 10:31:30,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-08 10:31:30,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:30,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:30,932 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:30,932 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:30,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:30,934 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-08 10:31:30,934 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-08 10:31:30,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:30,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:30,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-08 10:31:30,934 INFO L87 Difference]: Start difference. First operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-08 10:31:30,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:30,935 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-08 10:31:30,935 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-08 10:31:30,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:30,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:30,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:30,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:30,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:30,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-08 10:31:30,937 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 41 [2022-04-08 10:31:30,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:30,937 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-08 10:31:30,937 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:30,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 61 transitions. [2022-04-08 10:31:31,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:31,023 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-08 10:31:31,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:31:31,023 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:31,023 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:31,039 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 10:31:31,224 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 10:31:31,224 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:31,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:31,224 INFO L85 PathProgramCache]: Analyzing trace with hash 431574421, now seen corresponding path program 9 times [2022-04-08 10:31:31,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:31,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2050367395] [2022-04-08 10:31:31,226 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:31,226 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:31,226 INFO L85 PathProgramCache]: Analyzing trace with hash 431574421, now seen corresponding path program 10 times [2022-04-08 10:31:31,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:31,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [393716456] [2022-04-08 10:31:31,227 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:31,227 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:31,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:31,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:31,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:31,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {7292#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7258#true} is VALID [2022-04-08 10:31:31,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-08 10:31:31,284 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-08 10:31:31,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:31,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:31,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {7258#true} ~w := #in~w;~is_divisible~0 := ~true~0; {7293#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:31,354 INFO L290 TraceCheckUtils]: 1: Hoare triple {7293#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,355 INFO L290 TraceCheckUtils]: 4: Hoare triple {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,356 INFO L290 TraceCheckUtils]: 6: Hoare triple {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7297#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {7297#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {7298#(and (<= correct_version_~w 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,357 INFO L290 TraceCheckUtils]: 9: Hoare triple {7298#(and (<= correct_version_~w 6) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,357 INFO L290 TraceCheckUtils]: 10: Hoare triple {7299#(<= |correct_version_#in~w| 6)} #res := ~is_divisible~0; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,357 INFO L290 TraceCheckUtils]: 11: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,358 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {7299#(<= |correct_version_#in~w| 6)} {7258#true} #87#return; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:31,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:31:31,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:31,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {7258#true} ~w := #in~w;~is_divisible~1 := ~true~0; {7300#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:31,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {7300#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,449 INFO L290 TraceCheckUtils]: 3: Hoare triple {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,450 INFO L290 TraceCheckUtils]: 4: Hoare triple {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:31,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:31,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {7304#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:31,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {7304#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} ~i~1 := 2 + ~i~1; {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,452 INFO L290 TraceCheckUtils]: 10: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} assume !(~i~1 < ~w); {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {7306#(<= 7 |student_version_#in~w|)} #res := ~is_divisible~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,454 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {7306#(<= 7 |student_version_#in~w|)} {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} #89#return; {7259#false} is VALID [2022-04-08 10:31:31,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {7258#true} call ULTIMATE.init(); {7292#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:31,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {7292#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {7258#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L272 TraceCheckUtils]: 7: Hoare triple {7258#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:31,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {7258#true} ~w := #in~w;~is_divisible~0 := ~true~0; {7293#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:31,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {7293#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,456 INFO L290 TraceCheckUtils]: 10: Hoare triple {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {7294#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {7295#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {7296#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {7297#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {7297#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {7298#(and (<= correct_version_~w 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:31,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {7298#(and (<= correct_version_~w 6) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {7299#(<= |correct_version_#in~w| 6)} #res := ~is_divisible~0; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:31,460 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7299#(<= |correct_version_#in~w| 6)} {7258#true} #87#return; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:31,460 INFO L290 TraceCheckUtils]: 21: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:31,461 INFO L272 TraceCheckUtils]: 22: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:31,461 INFO L290 TraceCheckUtils]: 23: Hoare triple {7258#true} ~w := #in~w;~is_divisible~1 := ~true~0; {7300#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:31,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {7300#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {7301#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:31,463 INFO L290 TraceCheckUtils]: 28: Hoare triple {7302#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:31,464 INFO L290 TraceCheckUtils]: 29: Hoare triple {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:31,464 INFO L290 TraceCheckUtils]: 30: Hoare triple {7303#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {7304#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:31,465 INFO L290 TraceCheckUtils]: 31: Hoare triple {7304#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,465 INFO L290 TraceCheckUtils]: 32: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} ~i~1 := 2 + ~i~1; {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,466 INFO L290 TraceCheckUtils]: 33: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} assume !(~i~1 < ~w); {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} is VALID [2022-04-08 10:31:31,466 INFO L290 TraceCheckUtils]: 34: Hoare triple {7305#(and (= |student_version_#in~w| student_version_~w) (<= 7 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,467 INFO L290 TraceCheckUtils]: 35: Hoare triple {7306#(<= 7 |student_version_#in~w|)} #res := ~is_divisible~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,467 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:31,468 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7306#(<= 7 |student_version_#in~w|)} {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} #89#return; {7259#false} is VALID [2022-04-08 10:31:31,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {7259#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7259#false} is VALID [2022-04-08 10:31:31,469 INFO L272 TraceCheckUtils]: 39: Hoare triple {7259#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7259#false} is VALID [2022-04-08 10:31:31,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-08 10:31:31,469 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-08 10:31:31,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-08 10:31:31,469 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:31,469 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:31,469 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [393716456] [2022-04-08 10:31:31,469 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [393716456] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:31,470 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1904935424] [2022-04-08 10:31:31,470 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:31:31,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:31,470 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:31,471 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:31,493 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 10:31:31,520 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:31:31,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:31,521 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:31:31,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:31,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:32,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {7258#true} call ULTIMATE.init(); {7258#true} is VALID [2022-04-08 10:31:32,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {7258#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L290 TraceCheckUtils]: 5: Hoare triple {7258#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-08 10:31:32,055 INFO L272 TraceCheckUtils]: 7: Hoare triple {7258#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:32,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {7258#true} ~w := #in~w;~is_divisible~0 := ~true~0; {7334#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:32,056 INFO L290 TraceCheckUtils]: 9: Hoare triple {7334#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {7338#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:32,056 INFO L290 TraceCheckUtils]: 10: Hoare triple {7338#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {7338#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:32,057 INFO L290 TraceCheckUtils]: 11: Hoare triple {7338#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {7345#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:32,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {7345#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {7345#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:32,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {7345#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {7352#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:32,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {7352#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {7352#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:32,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {7352#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {7359#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:31:32,059 INFO L290 TraceCheckUtils]: 16: Hoare triple {7359#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !(~i~0 < ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:32,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume !(~i~0 != ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:32,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {7299#(<= |correct_version_#in~w| 6)} #res := ~is_divisible~0; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:32,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:32,065 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7299#(<= |correct_version_#in~w| 6)} {7258#true} #87#return; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:32,065 INFO L290 TraceCheckUtils]: 21: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:32,065 INFO L272 TraceCheckUtils]: 22: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:32,066 INFO L290 TraceCheckUtils]: 23: Hoare triple {7258#true} ~w := #in~w;~is_divisible~1 := ~true~0; {7384#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {7384#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {7388#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:32,066 INFO L290 TraceCheckUtils]: 25: Hoare triple {7388#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {7388#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:32,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {7388#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {7395#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:32,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {7395#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {7395#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:32,068 INFO L290 TraceCheckUtils]: 28: Hoare triple {7395#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {7402#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:32,068 INFO L290 TraceCheckUtils]: 29: Hoare triple {7402#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {7402#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:32,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {7402#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {7409#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:32,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {7409#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,069 INFO L290 TraceCheckUtils]: 32: Hoare triple {7306#(<= 7 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,069 INFO L290 TraceCheckUtils]: 33: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume !(~i~1 < ~w); {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,070 INFO L290 TraceCheckUtils]: 34: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,070 INFO L290 TraceCheckUtils]: 35: Hoare triple {7306#(<= 7 |student_version_#in~w|)} #res := ~is_divisible~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:32,071 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7306#(<= 7 |student_version_#in~w|)} {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} #89#return; {7259#false} is VALID [2022-04-08 10:31:32,071 INFO L290 TraceCheckUtils]: 38: Hoare triple {7259#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7259#false} is VALID [2022-04-08 10:31:32,071 INFO L272 TraceCheckUtils]: 39: Hoare triple {7259#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7259#false} is VALID [2022-04-08 10:31:32,071 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-08 10:31:32,071 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-08 10:31:32,071 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-08 10:31:32,072 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:32,072 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:35,433 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-08 10:31:35,434 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-08 10:31:35,434 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-08 10:31:35,434 INFO L272 TraceCheckUtils]: 39: Hoare triple {7259#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7259#false} is VALID [2022-04-08 10:31:35,434 INFO L290 TraceCheckUtils]: 38: Hoare triple {7259#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7259#false} is VALID [2022-04-08 10:31:35,436 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7306#(<= 7 |student_version_#in~w|)} {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} #89#return; {7259#false} is VALID [2022-04-08 10:31:35,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {7306#(<= 7 |student_version_#in~w|)} #res := ~is_divisible~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,437 INFO L290 TraceCheckUtils]: 34: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume !(~i~1 < ~w); {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,438 INFO L290 TraceCheckUtils]: 32: Hoare triple {7306#(<= 7 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,438 INFO L290 TraceCheckUtils]: 31: Hoare triple {7482#(or (not (< student_version_~i~1 student_version_~w)) (<= 7 |student_version_#in~w|))} assume !!(~i~1 < ~w); {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-08 10:31:35,439 INFO L290 TraceCheckUtils]: 30: Hoare triple {7486#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {7482#(or (not (< student_version_~i~1 student_version_~w)) (<= 7 |student_version_#in~w|))} is VALID [2022-04-08 10:31:35,439 INFO L290 TraceCheckUtils]: 29: Hoare triple {7486#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {7486#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:35,440 INFO L290 TraceCheckUtils]: 28: Hoare triple {7493#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {7486#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:35,440 INFO L290 TraceCheckUtils]: 27: Hoare triple {7493#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {7493#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:31:35,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {7500#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {7493#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:31:35,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {7500#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {7500#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:31:35,441 INFO L290 TraceCheckUtils]: 24: Hoare triple {7507#(or (<= 7 |student_version_#in~w|) (<= student_version_~w 6))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {7500#(or (<= 7 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:31:35,442 INFO L290 TraceCheckUtils]: 23: Hoare triple {7258#true} ~w := #in~w;~is_divisible~1 := ~true~0; {7507#(or (<= 7 |student_version_#in~w|) (<= student_version_~w 6))} is VALID [2022-04-08 10:31:35,442 INFO L272 TraceCheckUtils]: 22: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:35,442 INFO L290 TraceCheckUtils]: 21: Hoare triple {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:35,443 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {7299#(<= |correct_version_#in~w| 6)} {7258#true} #87#return; {7276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 6)))} is VALID [2022-04-08 10:31:35,443 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:35,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {7299#(<= |correct_version_#in~w| 6)} #res := ~is_divisible~0; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:35,444 INFO L290 TraceCheckUtils]: 17: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume !(~i~0 != ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:35,444 INFO L290 TraceCheckUtils]: 16: Hoare triple {7532#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 6))} assume !(~i~0 < ~w); {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-08 10:31:35,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {7536#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {7532#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 6))} is VALID [2022-04-08 10:31:35,445 INFO L290 TraceCheckUtils]: 14: Hoare triple {7536#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {7536#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:35,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {7543#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {7536#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:35,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {7543#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {7543#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:31:35,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {7550#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 6))} ~i~0 := 2 + ~i~0; {7543#(or (<= |correct_version_#in~w| 6) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:31:35,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {7550#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 6))} assume !!(~i~0 < ~w); {7550#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 6))} is VALID [2022-04-08 10:31:35,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {7557#(or (< 6 correct_version_~w) (<= |correct_version_#in~w| 6))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {7550#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 6))} is VALID [2022-04-08 10:31:35,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {7258#true} ~w := #in~w;~is_divisible~0 := ~true~0; {7557#(or (< 6 correct_version_~w) (<= |correct_version_#in~w| 6))} is VALID [2022-04-08 10:31:35,448 INFO L272 TraceCheckUtils]: 7: Hoare triple {7258#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {7258#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {7258#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L272 TraceCheckUtils]: 0: Hoare triple {7258#true} call ULTIMATE.init(); {7258#true} is VALID [2022-04-08 10:31:35,448 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:35,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1904935424] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:35,448 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:35,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15, 15] total 38 [2022-04-08 10:31:35,449 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:35,449 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2050367395] [2022-04-08 10:31:35,449 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2050367395] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:35,449 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:35,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 10:31:35,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [248655957] [2022-04-08 10:31:35,449 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:35,450 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-08 10:31:35,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:35,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:35,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:35,482 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 10:31:35,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:35,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 10:31:35,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=241, Invalid=1165, Unknown=0, NotChecked=0, Total=1406 [2022-04-08 10:31:35,483 INFO L87 Difference]: Start difference. First operand 56 states and 61 transitions. Second operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:36,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:36,512 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-08 10:31:36,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 10:31:36,512 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-08 10:31:36,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:36,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:36,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2022-04-08 10:31:36,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:36,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2022-04-08 10:31:36,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 68 transitions. [2022-04-08 10:31:36,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:36,587 INFO L225 Difference]: With dead ends: 71 [2022-04-08 10:31:36,587 INFO L226 Difference]: Without dead ends: 59 [2022-04-08 10:31:36,588 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 65 SyntacticMatches, 5 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 921 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=426, Invalid=2124, Unknown=0, NotChecked=0, Total=2550 [2022-04-08 10:31:36,588 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 70 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 352 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 372 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 352 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:36,589 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 67 Invalid, 372 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 352 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:31:36,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-08 10:31:36,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 55. [2022-04-08 10:31:36,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:36,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:36,732 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:36,732 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:36,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:36,733 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2022-04-08 10:31:36,733 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-08 10:31:36,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:36,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:36,734 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:31:36,734 INFO L87 Difference]: Start difference. First operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:31:36,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:36,735 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2022-04-08 10:31:36,735 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-08 10:31:36,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:36,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:36,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:36,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:36,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 45 states have internal predecessors, (48), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:36,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 59 transitions. [2022-04-08 10:31:36,737 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 59 transitions. Word has length 43 [2022-04-08 10:31:36,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:36,737 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 59 transitions. [2022-04-08 10:31:36,737 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:36,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 59 transitions. [2022-04-08 10:31:36,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:36,807 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-08 10:31:36,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 10:31:36,808 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:36,808 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:36,825 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 10:31:37,015 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 10:31:37,015 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:37,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:37,016 INFO L85 PathProgramCache]: Analyzing trace with hash -1007286155, now seen corresponding path program 9 times [2022-04-08 10:31:37,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:37,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1026355075] [2022-04-08 10:31:37,018 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:37,018 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:37,018 INFO L85 PathProgramCache]: Analyzing trace with hash -1007286155, now seen corresponding path program 10 times [2022-04-08 10:31:37,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:37,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1809018070] [2022-04-08 10:31:37,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:37,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:37,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:37,071 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:37,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:37,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {8014#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7980#true} is VALID [2022-04-08 10:31:37,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-08 10:31:37,076 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-08 10:31:37,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:37,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:37,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {7980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8015#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:37,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {8015#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,169 INFO L290 TraceCheckUtils]: 3: Hoare triple {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,169 INFO L290 TraceCheckUtils]: 4: Hoare triple {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,170 INFO L290 TraceCheckUtils]: 6: Hoare triple {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8019#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {8019#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} #res := ~is_divisible~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,174 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {8021#(<= 7 |correct_version_#in~w|)} {7980#true} #87#return; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:37,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:37,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:37,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {7980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8022#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:37,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {8022#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:37,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:37,280 INFO L290 TraceCheckUtils]: 3: Hoare triple {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,280 INFO L290 TraceCheckUtils]: 4: Hoare triple {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8026#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:37,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {8026#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !(~i~1 < ~w); {8027#(and (<= student_version_~w 6) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {8027#(and (<= student_version_~w 6) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,283 INFO L290 TraceCheckUtils]: 10: Hoare triple {8028#(<= |student_version_#in~w| 6)} #res := ~is_divisible~1; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,285 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8028#(<= |student_version_#in~w| 6)} {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} #89#return; {7981#false} is VALID [2022-04-08 10:31:37,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {7980#true} call ULTIMATE.init(); {8014#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:37,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {8014#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {7980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L272 TraceCheckUtils]: 7: Hoare triple {7980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:37,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {7980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8015#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:37,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {8015#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,291 INFO L290 TraceCheckUtils]: 10: Hoare triple {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {8016#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:37,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {8017#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,294 INFO L290 TraceCheckUtils]: 15: Hoare triple {8018#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8019#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {8019#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,295 INFO L290 TraceCheckUtils]: 17: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,296 INFO L290 TraceCheckUtils]: 18: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:37,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {8020#(and (<= 7 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} #res := ~is_divisible~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,297 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:37,298 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8021#(<= 7 |correct_version_#in~w|)} {7980#true} #87#return; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:37,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:37,299 INFO L272 TraceCheckUtils]: 24: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:37,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {7980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8022#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:37,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {8022#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:37,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:37,300 INFO L290 TraceCheckUtils]: 28: Hoare triple {8023#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {8024#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,302 INFO L290 TraceCheckUtils]: 32: Hoare triple {8025#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8026#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:37,303 INFO L290 TraceCheckUtils]: 33: Hoare triple {8026#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !(~i~1 < ~w); {8027#(and (<= student_version_~w 6) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:37,303 INFO L290 TraceCheckUtils]: 34: Hoare triple {8027#(and (<= student_version_~w 6) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {8028#(<= |student_version_#in~w| 6)} #res := ~is_divisible~1; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,304 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:37,305 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8028#(<= |student_version_#in~w| 6)} {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} #89#return; {7981#false} is VALID [2022-04-08 10:31:37,305 INFO L290 TraceCheckUtils]: 38: Hoare triple {7981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7981#false} is VALID [2022-04-08 10:31:37,305 INFO L272 TraceCheckUtils]: 39: Hoare triple {7981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7981#false} is VALID [2022-04-08 10:31:37,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-08 10:31:37,305 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-08 10:31:37,306 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-08 10:31:37,306 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:37,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:37,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1809018070] [2022-04-08 10:31:37,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1809018070] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:37,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1277468387] [2022-04-08 10:31:37,307 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:31:37,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:37,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:37,308 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:37,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 10:31:37,357 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:31:37,357 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:37,358 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:31:37,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:37,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:38,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {7980#true} call ULTIMATE.init(); {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {7980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {7980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-08 10:31:38,121 INFO L272 TraceCheckUtils]: 7: Hoare triple {7980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:38,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {7980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8056#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {8056#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8060#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,122 INFO L290 TraceCheckUtils]: 10: Hoare triple {8060#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {8060#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {8060#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8067#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,123 INFO L290 TraceCheckUtils]: 12: Hoare triple {8067#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {8067#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {8067#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {8074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {8074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:38,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {8074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {8081#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:31:38,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {8081#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,125 INFO L290 TraceCheckUtils]: 18: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume !(~i~0 < ~w); {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} #res := ~is_divisible~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:38,127 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8021#(<= 7 |correct_version_#in~w|)} {7980#true} #87#return; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:38,128 INFO L290 TraceCheckUtils]: 23: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:38,128 INFO L272 TraceCheckUtils]: 24: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:38,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {7980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8112#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:38,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {8112#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8116#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:38,129 INFO L290 TraceCheckUtils]: 27: Hoare triple {8116#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {8116#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:38,129 INFO L290 TraceCheckUtils]: 28: Hoare triple {8116#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {8123#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:38,130 INFO L290 TraceCheckUtils]: 29: Hoare triple {8123#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {8123#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:38,130 INFO L290 TraceCheckUtils]: 30: Hoare triple {8123#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {8130#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:38,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {8130#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {8130#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:38,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {8130#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {8137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:38,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {8137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !(~i~1 < ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:38,131 INFO L290 TraceCheckUtils]: 34: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume !(~i~1 != ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:38,132 INFO L290 TraceCheckUtils]: 35: Hoare triple {8028#(<= |student_version_#in~w| 6)} #res := ~is_divisible~1; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:38,132 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:38,133 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8028#(<= |student_version_#in~w| 6)} {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} #89#return; {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L290 TraceCheckUtils]: 38: Hoare triple {7981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L272 TraceCheckUtils]: 39: Hoare triple {7981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-08 10:31:38,133 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:38,133 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:41,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-08 10:31:41,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-08 10:31:41,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-08 10:31:41,285 INFO L272 TraceCheckUtils]: 39: Hoare triple {7981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {7981#false} is VALID [2022-04-08 10:31:41,285 INFO L290 TraceCheckUtils]: 38: Hoare triple {7981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {7981#false} is VALID [2022-04-08 10:31:41,286 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8028#(<= |student_version_#in~w| 6)} {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} #89#return; {7981#false} is VALID [2022-04-08 10:31:41,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:41,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {8028#(<= |student_version_#in~w| 6)} #res := ~is_divisible~1; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:41,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume !(~i~1 != ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:41,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {8198#(or (<= |student_version_#in~w| 6) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-08 10:31:41,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {8202#(or (<= |student_version_#in~w| 6) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {8198#(or (<= |student_version_#in~w| 6) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:31:41,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {8202#(or (<= |student_version_#in~w| 6) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {8202#(or (<= |student_version_#in~w| 6) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:41,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {8209#(or (<= |student_version_#in~w| 6) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {8202#(or (<= |student_version_#in~w| 6) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:41,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {8209#(or (<= |student_version_#in~w| 6) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {8209#(or (<= |student_version_#in~w| 6) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:31:41,289 INFO L290 TraceCheckUtils]: 28: Hoare triple {8216#(or (<= |student_version_#in~w| 6) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {8209#(or (<= |student_version_#in~w| 6) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:31:41,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {8216#(or (<= |student_version_#in~w| 6) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {8216#(or (<= |student_version_#in~w| 6) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:41,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {8223#(or (< 6 student_version_~w) (<= |student_version_#in~w| 6))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8216#(or (<= |student_version_#in~w| 6) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:31:41,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {7980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8223#(or (< 6 student_version_~w) (<= |student_version_#in~w| 6))} is VALID [2022-04-08 10:31:41,290 INFO L272 TraceCheckUtils]: 24: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:41,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:41,292 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8021#(<= 7 |correct_version_#in~w|)} {7980#true} #87#return; {8000#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 7) main_~w~0))} is VALID [2022-04-08 10:31:41,292 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} #res := ~is_divisible~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume !(~i~0 < ~w); {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {8254#(or (<= 7 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} assume !!(~i~0 < ~w); {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:41,294 INFO L290 TraceCheckUtils]: 15: Hoare triple {8258#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} ~i~0 := 2 + ~i~0; {8254#(or (<= 7 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:31:41,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {8258#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} assume !!(~i~0 < ~w); {8258#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:31:41,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {8265#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {8258#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:31:41,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {8265#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {8265#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:31:41,296 INFO L290 TraceCheckUtils]: 11: Hoare triple {8272#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {8265#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:31:41,296 INFO L290 TraceCheckUtils]: 10: Hoare triple {8272#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {8272#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:31:41,296 INFO L290 TraceCheckUtils]: 9: Hoare triple {8279#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w 6))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8272#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:31:41,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {7980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8279#(or (<= 7 |correct_version_#in~w|) (<= correct_version_~w 6))} is VALID [2022-04-08 10:31:41,297 INFO L272 TraceCheckUtils]: 7: Hoare triple {7980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {7980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {7980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {7980#true} call ULTIMATE.init(); {7980#true} is VALID [2022-04-08 10:31:41,297 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:41,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1277468387] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:41,298 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:41,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15, 15] total 38 [2022-04-08 10:31:41,298 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:41,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1026355075] [2022-04-08 10:31:41,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1026355075] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:41,298 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:41,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 10:31:41,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383584122] [2022-04-08 10:31:41,298 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:41,299 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-08 10:31:41,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:41,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:41,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:41,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 10:31:41,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:41,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 10:31:41,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=241, Invalid=1165, Unknown=0, NotChecked=0, Total=1406 [2022-04-08 10:31:41,329 INFO L87 Difference]: Start difference. First operand 55 states and 59 transitions. Second operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:42,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:42,137 INFO L93 Difference]: Finished difference Result 65 states and 68 transitions. [2022-04-08 10:31:42,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 10:31:42,137 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 43 [2022-04-08 10:31:42,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:42,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:42,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-04-08 10:31:42,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:42,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-04-08 10:31:42,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 60 transitions. [2022-04-08 10:31:42,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:42,202 INFO L225 Difference]: With dead ends: 65 [2022-04-08 10:31:42,202 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 10:31:42,203 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 65 SyntacticMatches, 5 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 898 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=426, Invalid=2124, Unknown=0, NotChecked=0, Total=2550 [2022-04-08 10:31:42,203 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 79 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 288 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:42,204 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [80 Valid, 60 Invalid, 288 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:31:42,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 10:31:42,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2022-04-08 10:31:42,343 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:42,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:42,344 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:42,344 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:42,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:42,345 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-04-08 10:31:42,345 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-04-08 10:31:42,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:42,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:42,346 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 55 states. [2022-04-08 10:31:42,346 INFO L87 Difference]: Start difference. First operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 55 states. [2022-04-08 10:31:42,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:42,347 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-04-08 10:31:42,347 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-04-08 10:31:42,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:42,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:42,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:42,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:42,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 42 states have (on average 1.0952380952380953) internal successors, (46), 44 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:42,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 57 transitions. [2022-04-08 10:31:42,348 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 57 transitions. Word has length 43 [2022-04-08 10:31:42,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:42,349 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 57 transitions. [2022-04-08 10:31:42,349 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.9444444444444444) internal successors, (35), 17 states have internal predecessors, (35), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:42,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 57 transitions. [2022-04-08 10:31:42,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:42,423 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 57 transitions. [2022-04-08 10:31:42,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 10:31:42,423 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:42,424 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:42,443 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-08 10:31:42,635 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 10:31:42,635 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:42,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:42,636 INFO L85 PathProgramCache]: Analyzing trace with hash 912386679, now seen corresponding path program 11 times [2022-04-08 10:31:42,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:42,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1635373737] [2022-04-08 10:31:42,638 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:42,638 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:42,638 INFO L85 PathProgramCache]: Analyzing trace with hash 912386679, now seen corresponding path program 12 times [2022-04-08 10:31:42,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:42,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700812762] [2022-04-08 10:31:42,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:42,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:42,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,677 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:42,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {8716#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {8680#true} is VALID [2022-04-08 10:31:42,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-08 10:31:42,681 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-08 10:31:42,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:42,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,773 INFO L290 TraceCheckUtils]: 0: Hoare triple {8680#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8717#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:42,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {8717#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,775 INFO L290 TraceCheckUtils]: 3: Hoare triple {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,775 INFO L290 TraceCheckUtils]: 4: Hoare triple {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,776 INFO L290 TraceCheckUtils]: 6: Hoare triple {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8722#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,778 INFO L290 TraceCheckUtils]: 10: Hoare triple {8722#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {8723#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {8723#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {8724#(<= |correct_version_#in~w| 7)} #res := ~is_divisible~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,780 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {8724#(<= |correct_version_#in~w| 7)} {8680#true} #87#return; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:42,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:42,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {8680#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8725#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:42,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {8725#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,868 INFO L290 TraceCheckUtils]: 3: Hoare triple {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,871 INFO L290 TraceCheckUtils]: 4: Hoare triple {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:42,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:42,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:42,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:42,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:31:42,874 INFO L290 TraceCheckUtils]: 10: Hoare triple {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !(~i~1 < ~w); {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:31:42,874 INFO L290 TraceCheckUtils]: 11: Hoare triple {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !(~i~1 != ~w); {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,874 INFO L290 TraceCheckUtils]: 12: Hoare triple {8731#(<= 8 |student_version_#in~w|)} #res := ~is_divisible~1; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,876 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {8731#(<= 8 |student_version_#in~w|)} {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} #89#return; {8681#false} is VALID [2022-04-08 10:31:42,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {8680#true} call ULTIMATE.init(); {8716#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:42,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {8716#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {8680#true} is VALID [2022-04-08 10:31:42,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-08 10:31:42,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-08 10:31:42,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-08 10:31:42,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {8680#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {8680#true} is VALID [2022-04-08 10:31:42,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-08 10:31:42,877 INFO L272 TraceCheckUtils]: 7: Hoare triple {8680#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:42,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {8680#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8717#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:42,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {8717#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,878 INFO L290 TraceCheckUtils]: 10: Hoare triple {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {8718#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {8719#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {8720#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,880 INFO L290 TraceCheckUtils]: 17: Hoare triple {8721#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {8722#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {8722#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {8723#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:42,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {8723#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 8)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {8724#(<= |correct_version_#in~w| 7)} #res := ~is_divisible~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:42,883 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8724#(<= |correct_version_#in~w| 7)} {8680#true} #87#return; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:42,883 INFO L290 TraceCheckUtils]: 23: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:42,883 INFO L272 TraceCheckUtils]: 24: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:42,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {8680#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8725#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:42,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {8725#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {8726#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:42,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {8727#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:42,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:42,890 INFO L290 TraceCheckUtils]: 32: Hoare triple {8728#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:42,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:31:42,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {8729#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:31:42,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !(~i~1 < ~w); {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:31:42,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {8730#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !(~i~1 != ~w); {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {8731#(<= 8 |student_version_#in~w|)} #res := ~is_divisible~1; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:42,898 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8731#(<= 8 |student_version_#in~w|)} {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} #89#return; {8681#false} is VALID [2022-04-08 10:31:42,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {8681#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {8681#false} is VALID [2022-04-08 10:31:42,899 INFO L272 TraceCheckUtils]: 41: Hoare triple {8681#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {8681#false} is VALID [2022-04-08 10:31:42,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-08 10:31:42,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-08 10:31:42,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-08 10:31:42,899 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:42,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:42,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700812762] [2022-04-08 10:31:42,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [700812762] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:42,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [477635339] [2022-04-08 10:31:42,900 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:31:42,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:42,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:42,903 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:42,912 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 10:31:42,952 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:31:42,952 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:42,952 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 10:31:42,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:42,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:43,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {8680#true} call ULTIMATE.init(); {8680#true} is VALID [2022-04-08 10:31:43,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {8680#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {8680#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L272 TraceCheckUtils]: 7: Hoare triple {8680#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:43,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {8680#true} ~w := #in~w;~is_divisible~0 := ~true~0; {8759#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:43,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {8759#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:43,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {8763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {8763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:31:43,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {8763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {8770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:43,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {8770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {8770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:31:43,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {8770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {8777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:43,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {8777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {8777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:31:43,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {8777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {8784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:31:43,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {8784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {8784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:31:43,606 INFO L290 TraceCheckUtils]: 17: Hoare triple {8784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {8791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:31:43,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {8791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !(~i~0 < ~w); {8795#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:31:43,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {8795#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 8))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:43,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {8724#(<= |correct_version_#in~w| 7)} #res := ~is_divisible~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:43,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:43,608 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8724#(<= |correct_version_#in~w| 7)} {8680#true} #87#return; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:43,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:43,608 INFO L272 TraceCheckUtils]: 24: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:43,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {8680#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8817#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:31:43,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {8817#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8821#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {8821#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {8821#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,610 INFO L290 TraceCheckUtils]: 28: Hoare triple {8821#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {8828#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,610 INFO L290 TraceCheckUtils]: 29: Hoare triple {8828#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {8828#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {8828#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {8835#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:43,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {8835#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {8835#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:31:43,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {8835#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {8842#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {8842#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {8842#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {8842#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {8849#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {8849#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {8849#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:31:43,613 INFO L290 TraceCheckUtils]: 36: Hoare triple {8849#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:43,613 INFO L290 TraceCheckUtils]: 37: Hoare triple {8731#(<= 8 |student_version_#in~w|)} #res := ~is_divisible~1; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:43,613 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:43,614 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8731#(<= 8 |student_version_#in~w|)} {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} #89#return; {8681#false} is VALID [2022-04-08 10:31:43,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {8681#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {8681#false} is VALID [2022-04-08 10:31:43,614 INFO L272 TraceCheckUtils]: 41: Hoare triple {8681#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {8681#false} is VALID [2022-04-08 10:31:43,615 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-08 10:31:43,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-08 10:31:43,615 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-08 10:31:43,615 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:43,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:31:53,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-08 10:31:53,772 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-08 10:31:53,772 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-08 10:31:53,772 INFO L272 TraceCheckUtils]: 41: Hoare triple {8681#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {8681#false} is VALID [2022-04-08 10:31:53,773 INFO L290 TraceCheckUtils]: 40: Hoare triple {8681#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {8681#false} is VALID [2022-04-08 10:31:53,773 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8731#(<= 8 |student_version_#in~w|)} {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} #89#return; {8681#false} is VALID [2022-04-08 10:31:53,774 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:53,774 INFO L290 TraceCheckUtils]: 37: Hoare triple {8731#(<= 8 |student_version_#in~w|)} #res := ~is_divisible~1; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:53,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {8907#(or (<= 8 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-08 10:31:53,775 INFO L290 TraceCheckUtils]: 35: Hoare triple {8907#(or (<= 8 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {8907#(or (<= 8 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:31:53,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {8914#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {8907#(or (<= 8 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:31:53,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {8914#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {8914#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:53,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {8921#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {8914#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:31:53,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {8921#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {8921#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:31:53,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {8928#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {8921#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:31:53,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {8928#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {8928#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:31:53,777 INFO L290 TraceCheckUtils]: 28: Hoare triple {8935#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {8928#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:31:53,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {8935#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {8935#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:31:53,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {8942#(or (<= 8 |student_version_#in~w|) (< student_version_~w 8))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {8935#(or (<= 8 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:31:53,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {8680#true} ~w := #in~w;~is_divisible~1 := ~true~0; {8942#(or (<= 8 |student_version_#in~w|) (< student_version_~w 8))} is VALID [2022-04-08 10:31:53,778 INFO L272 TraceCheckUtils]: 24: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:53,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:53,779 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8724#(<= |correct_version_#in~w| 7)} {8680#true} #87#return; {8700#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 7)))} is VALID [2022-04-08 10:31:53,780 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:53,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {8724#(<= |correct_version_#in~w| 7)} #res := ~is_divisible~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:53,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {8964#(or (<= |correct_version_#in~w| 7) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-08 10:31:53,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {8968#(or (<= |correct_version_#in~w| 7) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {8964#(or (<= |correct_version_#in~w| 7) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:31:53,781 INFO L290 TraceCheckUtils]: 17: Hoare triple {8972#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {8968#(or (<= |correct_version_#in~w| 7) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:31:53,782 INFO L290 TraceCheckUtils]: 16: Hoare triple {8972#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {8972#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:53,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {8979#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 7))} ~i~0 := 2 + ~i~0; {8972#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:31:53,782 INFO L290 TraceCheckUtils]: 14: Hoare triple {8979#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 7))} assume !!(~i~0 < ~w); {8979#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 7))} is VALID [2022-04-08 10:31:53,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {8986#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {8979#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 7))} is VALID [2022-04-08 10:31:53,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {8986#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {8986#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:31:53,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {8993#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 7))} ~i~0 := 2 + ~i~0; {8986#(or (<= |correct_version_#in~w| 7) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:31:53,784 INFO L290 TraceCheckUtils]: 10: Hoare triple {8993#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 7))} assume !!(~i~0 < ~w); {8993#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 7))} is VALID [2022-04-08 10:31:53,784 INFO L290 TraceCheckUtils]: 9: Hoare triple {9000#(or (<= |correct_version_#in~w| 7) (<= 8 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {8993#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 7))} is VALID [2022-04-08 10:31:53,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {8680#true} ~w := #in~w;~is_divisible~0 := ~true~0; {9000#(or (<= |correct_version_#in~w| 7) (<= 8 correct_version_~w))} is VALID [2022-04-08 10:31:53,785 INFO L272 TraceCheckUtils]: 7: Hoare triple {8680#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {8680#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {8680#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {8680#true} is VALID [2022-04-08 10:31:53,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {8680#true} call ULTIMATE.init(); {8680#true} is VALID [2022-04-08 10:31:53,786 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:53,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [477635339] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:31:53,786 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:31:53,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 45 [2022-04-08 10:31:53,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:31:53,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1635373737] [2022-04-08 10:31:53,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1635373737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:31:53,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:31:53,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:31:53,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1493475378] [2022-04-08 10:31:53,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:31:53,787 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-08 10:31:53,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:31:53,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:53,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:53,821 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:31:53,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:53,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:31:53,822 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=317, Invalid=1663, Unknown=0, NotChecked=0, Total=1980 [2022-04-08 10:31:53,822 INFO L87 Difference]: Start difference. First operand 54 states and 57 transitions. Second operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:54,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:54,953 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-08 10:31:54,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 10:31:54,954 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-08 10:31:54,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:31:54,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:54,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-08 10:31:54,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:54,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-08 10:31:54,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 76 transitions. [2022-04-08 10:31:55,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:55,038 INFO L225 Difference]: With dead ends: 74 [2022-04-08 10:31:55,039 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 10:31:55,040 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 63 SyntacticMatches, 5 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1330 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=572, Invalid=3088, Unknown=0, NotChecked=0, Total=3660 [2022-04-08 10:31:55,040 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 74 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 438 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 461 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 438 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:31:55,040 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 77 Invalid, 461 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 438 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:31:55,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 10:31:55,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-04-08 10:31:55,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:31:55,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:55,206 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:55,206 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:55,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:55,208 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-08 10:31:55,208 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2022-04-08 10:31:55,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:55,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:55,208 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:31:55,208 INFO L87 Difference]: Start difference. First operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:31:55,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:31:55,210 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-08 10:31:55,210 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2022-04-08 10:31:55,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:31:55,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:31:55,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:31:55,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:31:55,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 45 states have (on average 1.1111111111111112) internal successors, (50), 47 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:31:55,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 61 transitions. [2022-04-08 10:31:55,211 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 61 transitions. Word has length 45 [2022-04-08 10:31:55,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:31:55,211 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 61 transitions. [2022-04-08 10:31:55,211 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:31:55,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 61 transitions. [2022-04-08 10:31:55,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:31:55,293 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-04-08 10:31:55,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 10:31:55,293 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:31:55,293 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:31:55,316 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 10:31:55,503 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 10:31:55,503 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:31:55,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:31:55,504 INFO L85 PathProgramCache]: Analyzing trace with hash 294367923, now seen corresponding path program 11 times [2022-04-08 10:31:55,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:31:55,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [607184614] [2022-04-08 10:31:55,506 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:31:55,507 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:31:55,507 INFO L85 PathProgramCache]: Analyzing trace with hash 294367923, now seen corresponding path program 12 times [2022-04-08 10:31:55,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:31:55,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1890621779] [2022-04-08 10:31:55,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:31:55,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:31:55,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:55,550 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:31:55,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:55,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {9483#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {9447#true} is VALID [2022-04-08 10:31:55,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-08 10:31:55,555 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-08 10:31:55,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:31:55,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:55,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {9447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {9484#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:55,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {9484#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,634 INFO L290 TraceCheckUtils]: 3: Hoare triple {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,634 INFO L290 TraceCheckUtils]: 4: Hoare triple {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,635 INFO L290 TraceCheckUtils]: 6: Hoare triple {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} #res := ~is_divisible~0; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,639 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {9490#(<= 8 |correct_version_#in~w|)} {9447#true} #87#return; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:31:55,640 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:31:55,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:55,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {9447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {9491#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:55,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {9491#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:55,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:55,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,772 INFO L290 TraceCheckUtils]: 6: Hoare triple {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:55,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:55,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {9496#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {9496#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {9497#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:31:55,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {9497#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {9498#(<= |student_version_#in~w| 7)} #res := ~is_divisible~1; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,776 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {9498#(<= |student_version_#in~w| 7)} {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} #89#return; {9448#false} is VALID [2022-04-08 10:31:55,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {9447#true} call ULTIMATE.init(); {9483#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:31:55,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {9483#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L290 TraceCheckUtils]: 5: Hoare triple {9447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L272 TraceCheckUtils]: 7: Hoare triple {9447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:31:55,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {9447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {9484#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:31:55,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {9484#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,778 INFO L290 TraceCheckUtils]: 10: Hoare triple {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {9485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:55,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {9486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {9487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,780 INFO L290 TraceCheckUtils]: 16: Hoare triple {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,781 INFO L290 TraceCheckUtils]: 17: Hoare triple {9488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:31:55,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {9489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} #res := ~is_divisible~0; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,782 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:55,783 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9490#(<= 8 |correct_version_#in~w|)} {9447#true} #87#return; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:31:55,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:31:55,783 INFO L272 TraceCheckUtils]: 24: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:31:55,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {9447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {9491#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:55,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {9491#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:55,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:55,785 INFO L290 TraceCheckUtils]: 28: Hoare triple {9492#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {9493#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {9494#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:55,786 INFO L290 TraceCheckUtils]: 33: Hoare triple {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:55,787 INFO L290 TraceCheckUtils]: 34: Hoare triple {9495#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {9496#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:31:55,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {9496#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {9497#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:31:55,788 INFO L290 TraceCheckUtils]: 36: Hoare triple {9497#(and (or (<= student_version_~i~1 8) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,788 INFO L290 TraceCheckUtils]: 37: Hoare triple {9498#(<= |student_version_#in~w| 7)} #res := ~is_divisible~1; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,788 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:55,789 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9498#(<= |student_version_#in~w| 7)} {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} #89#return; {9448#false} is VALID [2022-04-08 10:31:55,789 INFO L290 TraceCheckUtils]: 40: Hoare triple {9448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {9448#false} is VALID [2022-04-08 10:31:55,789 INFO L272 TraceCheckUtils]: 41: Hoare triple {9448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {9448#false} is VALID [2022-04-08 10:31:55,789 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-08 10:31:55,789 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-08 10:31:55,789 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-08 10:31:55,790 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:55,790 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:31:55,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1890621779] [2022-04-08 10:31:55,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1890621779] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:31:55,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1036237916] [2022-04-08 10:31:55,790 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:31:55,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:31:55,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:31:55,791 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:31:55,792 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 10:31:55,837 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:31:55,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:31:55,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 10:31:55,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:31:55,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:31:56,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {9447#true} call ULTIMATE.init(); {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {9447#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {9447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-08 10:31:56,740 INFO L272 TraceCheckUtils]: 7: Hoare triple {9447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:31:56,741 INFO L290 TraceCheckUtils]: 8: Hoare triple {9447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {9526#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:31:56,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {9526#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {9530#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {9530#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {9530#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {9530#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9537#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {9537#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {9537#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,743 INFO L290 TraceCheckUtils]: 13: Hoare triple {9537#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9544#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {9544#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {9544#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {9544#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {9551#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:31:56,744 INFO L290 TraceCheckUtils]: 16: Hoare triple {9551#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {9551#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:31:56,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {9551#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {9558#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {9558#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !(~i~0 < ~w); {9558#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:31:56,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {9558#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !(~i~0 != ~w); {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:56,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} #res := ~is_divisible~0; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:56,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:31:56,746 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9490#(<= 8 |correct_version_#in~w|)} {9447#true} #87#return; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:31:56,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:31:56,747 INFO L272 TraceCheckUtils]: 24: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:31:56,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {9447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {9583#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:31:56,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {9583#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {9587#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:56,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {9587#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {9587#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:31:56,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {9587#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {9594#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:56,749 INFO L290 TraceCheckUtils]: 29: Hoare triple {9594#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {9594#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:31:56,749 INFO L290 TraceCheckUtils]: 30: Hoare triple {9594#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {9601#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:56,749 INFO L290 TraceCheckUtils]: 31: Hoare triple {9601#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {9601#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:31:56,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {9601#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {9608#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:56,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {9608#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {9608#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:31:56,751 INFO L290 TraceCheckUtils]: 34: Hoare triple {9608#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {9615#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:31:56,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {9615#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !(~i~1 < ~w); {9619#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:31:56,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {9619#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 8))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:56,752 INFO L290 TraceCheckUtils]: 37: Hoare triple {9498#(<= |student_version_#in~w| 7)} #res := ~is_divisible~1; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:56,752 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:31:56,764 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9498#(<= |student_version_#in~w| 7)} {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} #89#return; {9448#false} is VALID [2022-04-08 10:31:56,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {9448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {9448#false} is VALID [2022-04-08 10:31:56,765 INFO L272 TraceCheckUtils]: 41: Hoare triple {9448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {9448#false} is VALID [2022-04-08 10:31:56,765 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-08 10:31:56,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-08 10:31:56,765 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-08 10:31:56,765 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:31:56,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:06,825 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-08 10:32:06,825 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-08 10:32:06,825 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-08 10:32:06,825 INFO L272 TraceCheckUtils]: 41: Hoare triple {9448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {9448#false} is VALID [2022-04-08 10:32:06,825 INFO L290 TraceCheckUtils]: 40: Hoare triple {9448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {9448#false} is VALID [2022-04-08 10:32:06,826 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9498#(<= |student_version_#in~w| 7)} {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} #89#return; {9448#false} is VALID [2022-04-08 10:32:06,826 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:32:06,827 INFO L290 TraceCheckUtils]: 37: Hoare triple {9498#(<= |student_version_#in~w| 7)} #res := ~is_divisible~1; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:32:06,827 INFO L290 TraceCheckUtils]: 36: Hoare triple {9674#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 7))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-08 10:32:06,827 INFO L290 TraceCheckUtils]: 35: Hoare triple {9678#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 7))} assume !(~i~1 < ~w); {9674#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,828 INFO L290 TraceCheckUtils]: 34: Hoare triple {9682#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} ~i~1 := 2 + ~i~1; {9678#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,828 INFO L290 TraceCheckUtils]: 33: Hoare triple {9682#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} assume !!(~i~1 < ~w); {9682#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,829 INFO L290 TraceCheckUtils]: 32: Hoare triple {9689#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 7))} ~i~1 := 2 + ~i~1; {9682#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,829 INFO L290 TraceCheckUtils]: 31: Hoare triple {9689#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 7))} assume !!(~i~1 < ~w); {9689#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {9696#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} ~i~1 := 2 + ~i~1; {9689#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,830 INFO L290 TraceCheckUtils]: 29: Hoare triple {9696#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} assume !!(~i~1 < ~w); {9696#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,830 INFO L290 TraceCheckUtils]: 28: Hoare triple {9703#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 7))} ~i~1 := 2 + ~i~1; {9696#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,831 INFO L290 TraceCheckUtils]: 27: Hoare triple {9703#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 7))} assume !!(~i~1 < ~w); {9703#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {9710#(or (<= 8 student_version_~w) (<= |student_version_#in~w| 7))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {9703#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {9447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {9710#(or (<= 8 student_version_~w) (<= |student_version_#in~w| 7))} is VALID [2022-04-08 10:32:06,832 INFO L272 TraceCheckUtils]: 24: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:32:06,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:32:06,833 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9490#(<= 8 |correct_version_#in~w|)} {9447#true} #87#return; {9467#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 8) main_~w~0))} is VALID [2022-04-08 10:32:06,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:06,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} #res := ~is_divisible~0; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:06,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {9732#(or (<= 8 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:06,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {9732#(or (<= 8 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {9732#(or (<= 8 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:32:06,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {9739#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 8 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {9732#(or (<= 8 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:32:06,835 INFO L290 TraceCheckUtils]: 16: Hoare triple {9739#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 8 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {9739#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 8 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:06,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {9746#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {9739#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 8 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:06,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {9746#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {9746#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:32:06,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {9753#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {9746#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:32:06,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {9753#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {9753#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:06,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {9760#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 8 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {9753#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:06,837 INFO L290 TraceCheckUtils]: 10: Hoare triple {9760#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 8 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {9760#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 8 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:06,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {9767#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w 8))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {9760#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 8 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:06,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {9447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {9767#(or (<= 8 |correct_version_#in~w|) (< correct_version_~w 8))} is VALID [2022-04-08 10:32:06,838 INFO L272 TraceCheckUtils]: 7: Hoare triple {9447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {9447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {9447#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {9447#true} is VALID [2022-04-08 10:32:06,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {9447#true} call ULTIMATE.init(); {9447#true} is VALID [2022-04-08 10:32:06,839 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:06,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1036237916] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:06,839 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:06,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 45 [2022-04-08 10:32:06,839 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:06,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [607184614] [2022-04-08 10:32:06,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [607184614] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:06,839 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:06,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-08 10:32:06,840 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049263293] [2022-04-08 10:32:06,840 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:06,840 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-08 10:32:06,840 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:06,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:06,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:06,869 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-08 10:32:06,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:06,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-08 10:32:06,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=317, Invalid=1663, Unknown=0, NotChecked=0, Total=1980 [2022-04-08 10:32:06,870 INFO L87 Difference]: Start difference. First operand 57 states and 61 transitions. Second operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:07,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:07,828 INFO L93 Difference]: Finished difference Result 69 states and 74 transitions. [2022-04-08 10:32:07,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 10:32:07,828 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 45 [2022-04-08 10:32:07,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:07,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:07,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2022-04-08 10:32:07,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:07,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2022-04-08 10:32:07,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 69 transitions. [2022-04-08 10:32:07,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:07,909 INFO L225 Difference]: With dead ends: 69 [2022-04-08 10:32:07,909 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 10:32:07,911 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 63 SyntacticMatches, 5 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1335 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=572, Invalid=3088, Unknown=0, NotChecked=0, Total=3660 [2022-04-08 10:32:07,911 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 84 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 314 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:07,911 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 55 Invalid, 314 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 288 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:32:07,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 10:32:08,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-08 10:32:08,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:08,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:08,107 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:08,107 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:08,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:08,108 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-08 10:32:08,108 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-08 10:32:08,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:08,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:08,109 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 60 states. [2022-04-08 10:32:08,109 INFO L87 Difference]: Start difference. First operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 60 states. [2022-04-08 10:32:08,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:08,110 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-08 10:32:08,110 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-08 10:32:08,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:08,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:08,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:08,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:08,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:08,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 65 transitions. [2022-04-08 10:32:08,111 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 65 transitions. Word has length 45 [2022-04-08 10:32:08,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:08,112 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 65 transitions. [2022-04-08 10:32:08,112 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 18 states have internal predecessors, (37), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:08,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 65 transitions. [2022-04-08 10:32:08,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:08,194 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-08 10:32:08,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:08,195 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:08,195 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:32:08,212 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-08 10:32:08,403 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:08,403 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:08,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:08,404 INFO L85 PathProgramCache]: Analyzing trace with hash 1987478709, now seen corresponding path program 13 times [2022-04-08 10:32:08,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:08,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2132152049] [2022-04-08 10:32:08,407 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:08,407 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:08,407 INFO L85 PathProgramCache]: Analyzing trace with hash 1987478709, now seen corresponding path program 14 times [2022-04-08 10:32:08,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:08,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026181004] [2022-04-08 10:32:08,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:08,407 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:08,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:08,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:08,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:08,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {10242#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10204#true} is VALID [2022-04-08 10:32:08,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-08 10:32:08,456 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-08 10:32:08,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:08,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:08,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {10204#true} ~w := #in~w;~is_divisible~0 := ~true~0; {10243#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:08,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {10243#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,535 INFO L290 TraceCheckUtils]: 4: Hoare triple {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,536 INFO L290 TraceCheckUtils]: 6: Hoare triple {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10248#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:08,537 INFO L290 TraceCheckUtils]: 10: Hoare triple {10248#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !(~i~0 < ~w); {10249#(and (<= correct_version_~w 8) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,538 INFO L290 TraceCheckUtils]: 11: Hoare triple {10249#(and (<= correct_version_~w 8) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,538 INFO L290 TraceCheckUtils]: 12: Hoare triple {10250#(<= |correct_version_#in~w| 8)} #res := ~is_divisible~0; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,539 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {10250#(<= |correct_version_#in~w| 8)} {10204#true} #87#return; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:08,539 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 10:32:08,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:08,663 INFO L290 TraceCheckUtils]: 0: Hoare triple {10204#true} ~w := #in~w;~is_divisible~1 := ~true~0; {10251#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:08,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {10251#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,664 INFO L290 TraceCheckUtils]: 3: Hoare triple {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,665 INFO L290 TraceCheckUtils]: 4: Hoare triple {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:08,665 INFO L290 TraceCheckUtils]: 6: Hoare triple {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:08,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:08,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:08,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {10256#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:08,667 INFO L290 TraceCheckUtils]: 10: Hoare triple {10256#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,667 INFO L290 TraceCheckUtils]: 11: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} ~i~1 := 2 + ~i~1; {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} assume !(~i~1 < ~w); {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {10258#(<= 9 |student_version_#in~w|)} #res := ~is_divisible~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,669 INFO L290 TraceCheckUtils]: 15: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,669 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10258#(<= 9 |student_version_#in~w|)} {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} #89#return; {10205#false} is VALID [2022-04-08 10:32:08,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {10204#true} call ULTIMATE.init(); {10242#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:08,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {10242#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10204#true} is VALID [2022-04-08 10:32:08,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-08 10:32:08,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-08 10:32:08,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-08 10:32:08,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {10204#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10204#true} is VALID [2022-04-08 10:32:08,670 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-08 10:32:08,671 INFO L272 TraceCheckUtils]: 7: Hoare triple {10204#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:08,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {10204#true} ~w := #in~w;~is_divisible~0 := ~true~0; {10243#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:08,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {10243#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,672 INFO L290 TraceCheckUtils]: 10: Hoare triple {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {10244#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,672 INFO L290 TraceCheckUtils]: 12: Hoare triple {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {10245#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {10246#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {10247#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {10248#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:08,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {10248#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !(~i~0 < ~w); {10249#(and (<= correct_version_~w 8) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:08,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {10249#(and (<= correct_version_~w 8) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {10250#(<= |correct_version_#in~w| 8)} #res := ~is_divisible~0; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:08,676 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10250#(<= |correct_version_#in~w| 8)} {10204#true} #87#return; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:08,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:08,677 INFO L272 TraceCheckUtils]: 24: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:08,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {10204#true} ~w := #in~w;~is_divisible~1 := ~true~0; {10251#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:08,677 INFO L290 TraceCheckUtils]: 26: Hoare triple {10251#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {10252#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,679 INFO L290 TraceCheckUtils]: 29: Hoare triple {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:08,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {10253#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:08,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:08,680 INFO L290 TraceCheckUtils]: 32: Hoare triple {10254#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:08,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:08,681 INFO L290 TraceCheckUtils]: 34: Hoare triple {10255#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {10256#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:08,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {10256#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} ~i~1 := 2 + ~i~1; {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} assume !(~i~1 < ~w); {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} is VALID [2022-04-08 10:32:08,682 INFO L290 TraceCheckUtils]: 38: Hoare triple {10257#(and (= |student_version_#in~w| student_version_~w) (<= 9 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,682 INFO L290 TraceCheckUtils]: 39: Hoare triple {10258#(<= 9 |student_version_#in~w|)} #res := ~is_divisible~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:08,683 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10258#(<= 9 |student_version_#in~w|)} {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} #89#return; {10205#false} is VALID [2022-04-08 10:32:08,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {10205#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10205#false} is VALID [2022-04-08 10:32:08,684 INFO L272 TraceCheckUtils]: 43: Hoare triple {10205#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10205#false} is VALID [2022-04-08 10:32:08,684 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-08 10:32:08,684 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-08 10:32:08,684 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-08 10:32:08,684 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 16 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:08,684 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:08,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026181004] [2022-04-08 10:32:08,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2026181004] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:08,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [501232537] [2022-04-08 10:32:08,685 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:32:08,685 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:08,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:08,687 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:08,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 10:32:08,733 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:32:08,733 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:08,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:32:08,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:08,753 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:09,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {10204#true} call ULTIMATE.init(); {10204#true} is VALID [2022-04-08 10:32:09,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {10204#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10204#true} is VALID [2022-04-08 10:32:09,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-08 10:32:09,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-08 10:32:09,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-08 10:32:09,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {10204#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10204#true} is VALID [2022-04-08 10:32:09,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-08 10:32:09,316 INFO L272 TraceCheckUtils]: 7: Hoare triple {10204#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:09,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {10204#true} ~w := #in~w;~is_divisible~0 := ~true~0; {10286#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:09,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {10286#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {10290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:09,317 INFO L290 TraceCheckUtils]: 10: Hoare triple {10290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {10290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:09,317 INFO L290 TraceCheckUtils]: 11: Hoare triple {10290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {10297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:09,318 INFO L290 TraceCheckUtils]: 12: Hoare triple {10297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {10297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:09,318 INFO L290 TraceCheckUtils]: 13: Hoare triple {10297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {10304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:09,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {10304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {10304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:09,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {10304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {10311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:09,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {10311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {10311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:09,321 INFO L290 TraceCheckUtils]: 17: Hoare triple {10311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {10318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:09,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {10318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !(~i~0 < ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:09,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume !(~i~0 != ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:09,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {10250#(<= |correct_version_#in~w| 8)} #res := ~is_divisible~0; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:09,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:09,323 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10250#(<= |correct_version_#in~w| 8)} {10204#true} #87#return; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:09,323 INFO L290 TraceCheckUtils]: 23: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:09,323 INFO L272 TraceCheckUtils]: 24: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:09,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {10204#true} ~w := #in~w;~is_divisible~1 := ~true~0; {10343#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,324 INFO L290 TraceCheckUtils]: 26: Hoare triple {10343#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {10347#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {10347#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {10347#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {10347#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {10354#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,325 INFO L290 TraceCheckUtils]: 29: Hoare triple {10354#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {10354#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,325 INFO L290 TraceCheckUtils]: 30: Hoare triple {10354#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {10361#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:09,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {10361#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {10361#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:09,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {10361#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {10368#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,327 INFO L290 TraceCheckUtils]: 33: Hoare triple {10368#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {10368#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,327 INFO L290 TraceCheckUtils]: 34: Hoare triple {10368#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {10375#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:09,327 INFO L290 TraceCheckUtils]: 35: Hoare triple {10375#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {10258#(<= 9 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,328 INFO L290 TraceCheckUtils]: 37: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume !(~i~1 < ~w); {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,328 INFO L290 TraceCheckUtils]: 38: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,328 INFO L290 TraceCheckUtils]: 39: Hoare triple {10258#(<= 9 |student_version_#in~w|)} #res := ~is_divisible~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:09,330 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10258#(<= 9 |student_version_#in~w|)} {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} #89#return; {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L290 TraceCheckUtils]: 42: Hoare triple {10205#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L272 TraceCheckUtils]: 43: Hoare triple {10205#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-08 10:32:09,330 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 16 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:09,330 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:12,730 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-08 10:32:12,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-08 10:32:12,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-08 10:32:12,730 INFO L272 TraceCheckUtils]: 43: Hoare triple {10205#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10205#false} is VALID [2022-04-08 10:32:12,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {10205#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10205#false} is VALID [2022-04-08 10:32:12,731 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10258#(<= 9 |student_version_#in~w|)} {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} #89#return; {10205#false} is VALID [2022-04-08 10:32:12,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {10258#(<= 9 |student_version_#in~w|)} #res := ~is_divisible~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,733 INFO L290 TraceCheckUtils]: 37: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume !(~i~1 < ~w); {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {10258#(<= 9 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {10448#(or (not (< student_version_~i~1 student_version_~w)) (<= 9 |student_version_#in~w|))} assume !!(~i~1 < ~w); {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-08 10:32:12,734 INFO L290 TraceCheckUtils]: 34: Hoare triple {10452#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {10448#(or (not (< student_version_~i~1 student_version_~w)) (<= 9 |student_version_#in~w|))} is VALID [2022-04-08 10:32:12,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {10452#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {10452#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:32:12,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {10459#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {10452#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:32:12,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {10459#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {10459#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:32:12,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {10466#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {10459#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:32:12,736 INFO L290 TraceCheckUtils]: 29: Hoare triple {10466#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {10466#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:32:12,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {10473#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {10466#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:32:12,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {10473#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {10473#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:32:12,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {10480#(or (<= student_version_~w 8) (<= 9 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {10473#(or (<= 9 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:32:12,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {10204#true} ~w := #in~w;~is_divisible~1 := ~true~0; {10480#(or (<= student_version_~w 8) (<= 9 |student_version_#in~w|))} is VALID [2022-04-08 10:32:12,737 INFO L272 TraceCheckUtils]: 24: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:12,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:12,738 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10250#(<= |correct_version_#in~w| 8)} {10204#true} #87#return; {10224#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 8)))} is VALID [2022-04-08 10:32:12,739 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:12,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {10250#(<= |correct_version_#in~w| 8)} #res := ~is_divisible~0; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:12,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume !(~i~0 != ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:12,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {10505#(or (<= |correct_version_#in~w| 8) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-08 10:32:12,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {10509#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {10505#(or (<= |correct_version_#in~w| 8) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:32:12,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {10509#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {10509#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:32:12,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {10516#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {10509#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:32:12,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {10516#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {10516#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:32:12,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {10523#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 8))} ~i~0 := 2 + ~i~0; {10516#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:32:12,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {10523#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 8))} assume !!(~i~0 < ~w); {10523#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 8))} is VALID [2022-04-08 10:32:12,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {10530#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {10523#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 8))} is VALID [2022-04-08 10:32:12,743 INFO L290 TraceCheckUtils]: 10: Hoare triple {10530#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {10530#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:32:12,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {10537#(or (<= |correct_version_#in~w| 8) (< 8 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {10530#(or (<= |correct_version_#in~w| 8) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:32:12,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {10204#true} ~w := #in~w;~is_divisible~0 := ~true~0; {10537#(or (<= |correct_version_#in~w| 8) (< 8 correct_version_~w))} is VALID [2022-04-08 10:32:12,744 INFO L272 TraceCheckUtils]: 7: Hoare triple {10204#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {10204#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {10204#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {10204#true} call ULTIMATE.init(); {10204#true} is VALID [2022-04-08 10:32:12,744 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 25 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:12,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [501232537] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:12,745 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:12,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 17, 17] total 44 [2022-04-08 10:32:12,745 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:12,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2132152049] [2022-04-08 10:32:12,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2132152049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:12,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:12,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 10:32:12,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075420820] [2022-04-08 10:32:12,746 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:12,746 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-08 10:32:12,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:12,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:12,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:12,778 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 10:32:12,778 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:12,778 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 10:32:12,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=321, Invalid=1571, Unknown=0, NotChecked=0, Total=1892 [2022-04-08 10:32:12,779 INFO L87 Difference]: Start difference. First operand 60 states and 65 transitions. Second operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:13,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:13,806 INFO L93 Difference]: Finished difference Result 75 states and 80 transitions. [2022-04-08 10:32:13,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:32:13,806 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-08 10:32:13,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:13,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:13,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-04-08 10:32:13,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:13,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-04-08 10:32:13,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 72 transitions. [2022-04-08 10:32:13,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:13,870 INFO L225 Difference]: With dead ends: 75 [2022-04-08 10:32:13,870 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 10:32:13,871 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 69 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1309 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=563, Invalid=2859, Unknown=0, NotChecked=0, Total=3422 [2022-04-08 10:32:13,871 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 83 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 390 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:13,872 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [86 Valid, 62 Invalid, 390 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 367 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:32:13,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 10:32:14,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-08 10:32:14,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:14,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:14,064 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:14,064 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:14,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:14,065 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2022-04-08 10:32:14,065 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-08 10:32:14,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:14,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:14,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:32:14,065 INFO L87 Difference]: Start difference. First operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:32:14,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:14,066 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2022-04-08 10:32:14,066 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-08 10:32:14,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:14,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:14,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:14,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:14,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 47 states have (on average 1.1063829787234043) internal successors, (52), 49 states have internal predecessors, (52), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:14,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 63 transitions. [2022-04-08 10:32:14,068 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 63 transitions. Word has length 47 [2022-04-08 10:32:14,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:14,068 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 63 transitions. [2022-04-08 10:32:14,068 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:14,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 63 transitions. [2022-04-08 10:32:14,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:14,165 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-08 10:32:14,165 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-08 10:32:14,165 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:14,166 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:32:14,184 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 10:32:14,375 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:14,375 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:14,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:14,376 INFO L85 PathProgramCache]: Analyzing trace with hash -2094039019, now seen corresponding path program 13 times [2022-04-08 10:32:14,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:14,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [364073746] [2022-04-08 10:32:14,378 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:14,378 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:14,378 INFO L85 PathProgramCache]: Analyzing trace with hash -2094039019, now seen corresponding path program 14 times [2022-04-08 10:32:14,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:14,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572710841] [2022-04-08 10:32:14,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:14,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:14,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:14,416 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:14,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:14,420 INFO L290 TraceCheckUtils]: 0: Hoare triple {11026#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10988#true} is VALID [2022-04-08 10:32:14,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-08 10:32:14,420 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-08 10:32:14,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:14,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:14,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {10988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11027#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:14,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {11027#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,510 INFO L290 TraceCheckUtils]: 6: Hoare triple {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11032#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,511 INFO L290 TraceCheckUtils]: 10: Hoare triple {11032#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,512 INFO L290 TraceCheckUtils]: 11: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,512 INFO L290 TraceCheckUtils]: 12: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} #res := ~is_divisible~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,514 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11034#(<= 9 |correct_version_#in~w|)} {10988#true} #87#return; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:14,514 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:32:14,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:14,633 INFO L290 TraceCheckUtils]: 0: Hoare triple {10988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11035#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:14,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {11035#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:14,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:14,635 INFO L290 TraceCheckUtils]: 3: Hoare triple {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,635 INFO L290 TraceCheckUtils]: 4: Hoare triple {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:14,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:14,639 INFO L290 TraceCheckUtils]: 9: Hoare triple {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {11040#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,640 INFO L290 TraceCheckUtils]: 10: Hoare triple {11040#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {11041#(and (<= student_version_~w 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,640 INFO L290 TraceCheckUtils]: 11: Hoare triple {11041#(and (<= student_version_~w 8) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {11042#(<= |student_version_#in~w| 8)} #res := ~is_divisible~1; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,642 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {11042#(<= |student_version_#in~w| 8)} {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} #89#return; {10989#false} is VALID [2022-04-08 10:32:14,643 INFO L272 TraceCheckUtils]: 0: Hoare triple {10988#true} call ULTIMATE.init(); {11026#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:14,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {11026#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10988#true} is VALID [2022-04-08 10:32:14,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-08 10:32:14,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-08 10:32:14,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-08 10:32:14,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {10988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10988#true} is VALID [2022-04-08 10:32:14,644 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-08 10:32:14,644 INFO L272 TraceCheckUtils]: 7: Hoare triple {10988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:14,644 INFO L290 TraceCheckUtils]: 8: Hoare triple {10988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11027#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:14,645 INFO L290 TraceCheckUtils]: 9: Hoare triple {11027#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,645 INFO L290 TraceCheckUtils]: 10: Hoare triple {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,646 INFO L290 TraceCheckUtils]: 11: Hoare triple {11028#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:14,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {11029#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,648 INFO L290 TraceCheckUtils]: 15: Hoare triple {11030#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {11031#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11032#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {11032#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:14,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {11033#(and (<= 9 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} #res := ~is_divisible~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:14,653 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11034#(<= 9 |correct_version_#in~w|)} {10988#true} #87#return; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:14,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:14,654 INFO L272 TraceCheckUtils]: 26: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:14,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {10988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11035#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:14,655 INFO L290 TraceCheckUtils]: 28: Hoare triple {11035#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:14,655 INFO L290 TraceCheckUtils]: 29: Hoare triple {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:14,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {11036#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,657 INFO L290 TraceCheckUtils]: 31: Hoare triple {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {11037#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,658 INFO L290 TraceCheckUtils]: 34: Hoare triple {11038#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:14,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:14,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {11039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {11040#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {11040#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {11041#(and (<= student_version_~w 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:14,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {11041#(and (<= student_version_~w 8) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,660 INFO L290 TraceCheckUtils]: 39: Hoare triple {11042#(<= |student_version_#in~w| 8)} #res := ~is_divisible~1; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:14,661 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11042#(<= |student_version_#in~w| 8)} {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} #89#return; {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {10989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L272 TraceCheckUtils]: 43: Hoare triple {10989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-08 10:32:14,661 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 16 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:14,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:14,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572710841] [2022-04-08 10:32:14,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [572710841] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:14,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1442792822] [2022-04-08 10:32:14,662 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:32:14,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:14,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:14,663 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:14,667 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 10:32:14,712 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:32:14,713 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:14,713 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:32:14,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:14,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:15,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {10988#true} call ULTIMATE.init(); {10988#true} is VALID [2022-04-08 10:32:15,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {10988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-08 10:32:15,497 INFO L272 TraceCheckUtils]: 7: Hoare triple {10988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:15,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {10988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11070#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {11070#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,504 INFO L290 TraceCheckUtils]: 10: Hoare triple {11074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {11074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {11074#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11081#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,505 INFO L290 TraceCheckUtils]: 12: Hoare triple {11081#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {11081#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {11081#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11088#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {11088#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {11088#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,507 INFO L290 TraceCheckUtils]: 15: Hoare triple {11088#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {11095#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:15,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {11095#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {11095#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:15,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {11095#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {11102#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:32:15,508 INFO L290 TraceCheckUtils]: 18: Hoare triple {11102#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume !(~i~0 < ~w); {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,509 INFO L290 TraceCheckUtils]: 21: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,509 INFO L290 TraceCheckUtils]: 22: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} #res := ~is_divisible~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,509 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:15,510 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11034#(<= 9 |correct_version_#in~w|)} {10988#true} #87#return; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:15,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:15,511 INFO L272 TraceCheckUtils]: 26: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:15,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {10988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11133#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:15,511 INFO L290 TraceCheckUtils]: 28: Hoare triple {11133#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:15,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {11137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {11137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:15,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {11137#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {11144#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:15,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {11144#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {11144#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:15,513 INFO L290 TraceCheckUtils]: 32: Hoare triple {11144#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {11151#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:15,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {11151#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {11151#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:15,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {11151#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {11158#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:15,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {11158#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {11158#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:15,515 INFO L290 TraceCheckUtils]: 36: Hoare triple {11158#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {11165#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:32:15,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {11165#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !(~i~1 < ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:15,515 INFO L290 TraceCheckUtils]: 38: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume !(~i~1 != ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:15,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {11042#(<= |student_version_#in~w| 8)} #res := ~is_divisible~1; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:15,516 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:15,516 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11042#(<= |student_version_#in~w| 8)} {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} #89#return; {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {10989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L272 TraceCheckUtils]: 43: Hoare triple {10989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-08 10:32:15,517 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 16 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:15,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:18,650 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-08 10:32:18,651 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-08 10:32:18,651 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-08 10:32:18,651 INFO L272 TraceCheckUtils]: 43: Hoare triple {10989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {10989#false} is VALID [2022-04-08 10:32:18,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {10989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {10989#false} is VALID [2022-04-08 10:32:18,652 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11042#(<= |student_version_#in~w| 8)} {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} #89#return; {10989#false} is VALID [2022-04-08 10:32:18,652 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:18,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {11042#(<= |student_version_#in~w| 8)} #res := ~is_divisible~1; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:18,653 INFO L290 TraceCheckUtils]: 38: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume !(~i~1 != ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:18,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {11226#(or (<= |student_version_#in~w| 8) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-08 10:32:18,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {11230#(or (<= |student_version_#in~w| 8) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {11226#(or (<= |student_version_#in~w| 8) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:32:18,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {11230#(or (<= |student_version_#in~w| 8) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {11230#(or (<= |student_version_#in~w| 8) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:18,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {11237#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {11230#(or (<= |student_version_#in~w| 8) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:18,655 INFO L290 TraceCheckUtils]: 33: Hoare triple {11237#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {11237#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:32:18,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {11244#(or (<= |student_version_#in~w| 8) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {11237#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:32:18,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {11244#(or (<= |student_version_#in~w| 8) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {11244#(or (<= |student_version_#in~w| 8) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:18,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {11251#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {11244#(or (<= |student_version_#in~w| 8) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:18,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {11251#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {11251#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:32:18,656 INFO L290 TraceCheckUtils]: 28: Hoare triple {11258#(or (<= |student_version_#in~w| 8) (< 8 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11251#(or (<= |student_version_#in~w| 8) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:32:18,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {10988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11258#(or (<= |student_version_#in~w| 8) (< 8 student_version_~w))} is VALID [2022-04-08 10:32:18,657 INFO L272 TraceCheckUtils]: 26: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:18,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:18,658 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11034#(<= 9 |correct_version_#in~w|)} {10988#true} #87#return; {11010#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 9) main_~w~0))} is VALID [2022-04-08 10:32:18,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} #res := ~is_divisible~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume !(~i~0 < ~w); {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {11289#(or (<= 9 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} assume !!(~i~0 < ~w); {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:18,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {11293#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} ~i~0 := 2 + ~i~0; {11289#(or (<= 9 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:32:18,661 INFO L290 TraceCheckUtils]: 16: Hoare triple {11293#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} assume !!(~i~0 < ~w); {11293#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:32:18,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {11300#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {11293#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:32:18,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {11300#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {11300#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:32:18,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {11307#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {11300#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:32:18,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {11307#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {11307#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:18,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {11314#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} ~i~0 := 2 + ~i~0; {11307#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:18,663 INFO L290 TraceCheckUtils]: 10: Hoare triple {11314#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} assume !!(~i~0 < ~w); {11314#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:32:18,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {11321#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w 8))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11314#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:32:18,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {10988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11321#(or (<= 9 |correct_version_#in~w|) (<= correct_version_~w 8))} is VALID [2022-04-08 10:32:18,666 INFO L272 TraceCheckUtils]: 7: Hoare triple {10988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {10988#true} is VALID [2022-04-08 10:32:18,666 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-08 10:32:18,666 INFO L290 TraceCheckUtils]: 5: Hoare triple {10988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {10988#true} is VALID [2022-04-08 10:32:18,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-08 10:32:18,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-08 10:32:18,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-08 10:32:18,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {10988#true} is VALID [2022-04-08 10:32:18,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {10988#true} call ULTIMATE.init(); {10988#true} is VALID [2022-04-08 10:32:18,667 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 25 proven. 16 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:18,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1442792822] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:18,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:18,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 17, 17] total 44 [2022-04-08 10:32:18,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:18,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [364073746] [2022-04-08 10:32:18,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [364073746] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:18,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:18,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 10:32:18,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1128736853] [2022-04-08 10:32:18,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:18,668 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-08 10:32:18,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:18,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:18,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:18,699 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 10:32:18,699 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:18,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 10:32:18,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=321, Invalid=1571, Unknown=0, NotChecked=0, Total=1892 [2022-04-08 10:32:18,700 INFO L87 Difference]: Start difference. First operand 59 states and 63 transitions. Second operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:19,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:19,662 INFO L93 Difference]: Finished difference Result 69 states and 72 transitions. [2022-04-08 10:32:19,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:32:19,662 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 47 [2022-04-08 10:32:19,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:19,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:19,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 64 transitions. [2022-04-08 10:32:19,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:19,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 64 transitions. [2022-04-08 10:32:19,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 64 transitions. [2022-04-08 10:32:19,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:19,728 INFO L225 Difference]: With dead ends: 69 [2022-04-08 10:32:19,728 INFO L226 Difference]: Without dead ends: 59 [2022-04-08 10:32:19,729 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 69 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1280 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=563, Invalid=2859, Unknown=0, NotChecked=0, Total=3422 [2022-04-08 10:32:19,730 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 81 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:19,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [82 Valid, 65 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:32:19,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-08 10:32:19,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-08 10:32:19,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:19,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:19,920 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:19,920 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:19,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:19,921 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-08 10:32:19,921 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-04-08 10:32:19,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:19,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:19,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:32:19,922 INFO L87 Difference]: Start difference. First operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 59 states. [2022-04-08 10:32:19,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:19,923 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-08 10:32:19,923 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-04-08 10:32:19,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:19,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:19,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:19,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:19,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 46 states have (on average 1.0869565217391304) internal successors, (50), 48 states have internal predecessors, (50), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:19,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 61 transitions. [2022-04-08 10:32:19,925 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 61 transitions. Word has length 47 [2022-04-08 10:32:19,925 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:19,925 INFO L478 AbstractCegarLoop]: Abstraction has 58 states and 61 transitions. [2022-04-08 10:32:19,925 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.95) internal successors, (39), 19 states have internal predecessors, (39), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:19,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 61 transitions. [2022-04-08 10:32:20,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:20,027 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 61 transitions. [2022-04-08 10:32:20,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:32:20,027 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:20,027 INFO L499 BasicCegarLoop]: 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] [2022-04-08 10:32:20,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 10:32:20,228 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:20,228 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:20,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:20,228 INFO L85 PathProgramCache]: Analyzing trace with hash 219937303, now seen corresponding path program 15 times [2022-04-08 10:32:20,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:20,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1812190772] [2022-04-08 10:32:20,231 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:20,231 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:20,231 INFO L85 PathProgramCache]: Analyzing trace with hash 219937303, now seen corresponding path program 16 times [2022-04-08 10:32:20,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:20,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1862757912] [2022-04-08 10:32:20,231 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:20,231 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:20,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:20,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:20,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:20,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {11790#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {11750#true} is VALID [2022-04-08 10:32:20,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-08 10:32:20,281 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-08 10:32:20,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:20,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:20,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {11750#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11791#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:20,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {11791#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,408 INFO L290 TraceCheckUtils]: 6: Hoare triple {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:20,410 INFO L290 TraceCheckUtils]: 10: Hoare triple {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:20,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {11797#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,411 INFO L290 TraceCheckUtils]: 12: Hoare triple {11797#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {11798#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {11798#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {11799#(<= |correct_version_#in~w| 9)} #res := ~is_divisible~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,413 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11799#(<= |correct_version_#in~w| 9)} {11750#true} #87#return; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:20,414 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:32:20,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:20,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {11750#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11800#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:20,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {11800#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:20,535 INFO L290 TraceCheckUtils]: 6: Hoare triple {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:20,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:20,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:20,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:20,537 INFO L290 TraceCheckUtils]: 10: Hoare triple {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:20,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {11807#(<= 10 |student_version_#in~w|)} #res := ~is_divisible~1; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11807#(<= 10 |student_version_#in~w|)} {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} #89#return; {11751#false} is VALID [2022-04-08 10:32:20,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {11750#true} call ULTIMATE.init(); {11790#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:20,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {11790#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {11750#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-08 10:32:20,540 INFO L272 TraceCheckUtils]: 7: Hoare triple {11750#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:20,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {11750#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11791#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:20,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {11791#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,541 INFO L290 TraceCheckUtils]: 10: Hoare triple {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {11792#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {11793#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {11794#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {11795#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:20,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:20,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {11796#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {11797#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {11797#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {11798#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:20,546 INFO L290 TraceCheckUtils]: 21: Hoare triple {11798#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 10)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {11799#(<= |correct_version_#in~w| 9)} #res := ~is_divisible~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,546 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:20,547 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11799#(<= |correct_version_#in~w| 9)} {11750#true} #87#return; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:20,547 INFO L290 TraceCheckUtils]: 25: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:20,547 INFO L272 TraceCheckUtils]: 26: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:20,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {11750#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11800#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:20,548 INFO L290 TraceCheckUtils]: 28: Hoare triple {11800#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,548 INFO L290 TraceCheckUtils]: 29: Hoare triple {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {11801#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,550 INFO L290 TraceCheckUtils]: 32: Hoare triple {11802#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:20,550 INFO L290 TraceCheckUtils]: 33: Hoare triple {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:20,550 INFO L290 TraceCheckUtils]: 34: Hoare triple {11803#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:20,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:20,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {11804#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:20,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:20,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {11805#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,552 INFO L290 TraceCheckUtils]: 39: Hoare triple {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:20,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {11806#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,553 INFO L290 TraceCheckUtils]: 41: Hoare triple {11807#(<= 10 |student_version_#in~w|)} #res := ~is_divisible~1; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,553 INFO L290 TraceCheckUtils]: 42: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:20,554 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11807#(<= 10 |student_version_#in~w|)} {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} #89#return; {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {11751#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L272 TraceCheckUtils]: 45: Hoare triple {11751#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-08 10:32:20,554 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:20,555 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:20,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1862757912] [2022-04-08 10:32:20,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1862757912] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:20,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [680391132] [2022-04-08 10:32:20,555 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:32:20,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:20,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:20,556 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:20,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 10:32:20,601 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:32:20,602 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:20,602 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 10:32:20,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:20,619 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:21,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {11750#true} call ULTIMATE.init(); {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {11750#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {11750#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-08 10:32:21,338 INFO L272 TraceCheckUtils]: 7: Hoare triple {11750#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:21,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {11750#true} ~w := #in~w;~is_divisible~0 := ~true~0; {11835#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:21,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {11835#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {11839#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:21,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {11839#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {11839#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:21,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {11839#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {11846#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:21,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {11846#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {11846#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:21,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {11846#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {11853#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:21,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {11853#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {11853#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:21,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {11853#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {11860#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:21,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {11860#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {11860#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:21,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {11860#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {11867#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:21,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {11867#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {11867#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:21,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {11867#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {11874#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:32:21,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {11874#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !(~i~0 < ~w); {11878#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:32:21,344 INFO L290 TraceCheckUtils]: 21: Hoare triple {11878#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 10))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:21,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {11799#(<= |correct_version_#in~w| 9)} #res := ~is_divisible~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:21,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:21,345 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11799#(<= |correct_version_#in~w| 9)} {11750#true} #87#return; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:21,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:21,346 INFO L272 TraceCheckUtils]: 26: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:21,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {11750#true} ~w := #in~w;~is_divisible~1 := ~true~0; {11900#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:32:21,346 INFO L290 TraceCheckUtils]: 28: Hoare triple {11900#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {11904#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,347 INFO L290 TraceCheckUtils]: 29: Hoare triple {11904#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {11904#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,347 INFO L290 TraceCheckUtils]: 30: Hoare triple {11904#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {11911#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,347 INFO L290 TraceCheckUtils]: 31: Hoare triple {11911#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {11911#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,348 INFO L290 TraceCheckUtils]: 32: Hoare triple {11911#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {11918#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:21,348 INFO L290 TraceCheckUtils]: 33: Hoare triple {11918#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {11918#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:21,349 INFO L290 TraceCheckUtils]: 34: Hoare triple {11918#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {11925#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,349 INFO L290 TraceCheckUtils]: 35: Hoare triple {11925#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {11925#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {11925#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {11932#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,350 INFO L290 TraceCheckUtils]: 37: Hoare triple {11932#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {11932#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,350 INFO L290 TraceCheckUtils]: 38: Hoare triple {11932#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {11939#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {11939#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {11939#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:21,351 INFO L290 TraceCheckUtils]: 40: Hoare triple {11939#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:21,351 INFO L290 TraceCheckUtils]: 41: Hoare triple {11807#(<= 10 |student_version_#in~w|)} #res := ~is_divisible~1; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:21,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:21,352 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11807#(<= 10 |student_version_#in~w|)} {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} #89#return; {11751#false} is VALID [2022-04-08 10:32:21,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {11751#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {11751#false} is VALID [2022-04-08 10:32:21,352 INFO L272 TraceCheckUtils]: 45: Hoare triple {11751#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {11751#false} is VALID [2022-04-08 10:32:21,353 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-08 10:32:21,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-08 10:32:21,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-08 10:32:21,353 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:21,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:31,438 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-08 10:32:31,439 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-08 10:32:31,439 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-08 10:32:31,439 INFO L272 TraceCheckUtils]: 45: Hoare triple {11751#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {11751#false} is VALID [2022-04-08 10:32:31,439 INFO L290 TraceCheckUtils]: 44: Hoare triple {11751#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {11751#false} is VALID [2022-04-08 10:32:31,442 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11807#(<= 10 |student_version_#in~w|)} {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} #89#return; {11751#false} is VALID [2022-04-08 10:32:31,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:31,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {11807#(<= 10 |student_version_#in~w|)} #res := ~is_divisible~1; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:31,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {11997#(or (<= 10 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-08 10:32:31,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {11997#(or (<= 10 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {11997#(or (<= 10 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:32:31,444 INFO L290 TraceCheckUtils]: 38: Hoare triple {12004#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {11997#(or (<= 10 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:32:31,444 INFO L290 TraceCheckUtils]: 37: Hoare triple {12004#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {12004#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:32:31,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {12011#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 10 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {12004#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:32:31,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {12011#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 10 |student_version_#in~w|))} assume !!(~i~1 < ~w); {12011#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,445 INFO L290 TraceCheckUtils]: 34: Hoare triple {12018#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 10 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {12011#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,445 INFO L290 TraceCheckUtils]: 33: Hoare triple {12018#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 10 |student_version_#in~w|))} assume !!(~i~1 < ~w); {12018#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,446 INFO L290 TraceCheckUtils]: 32: Hoare triple {12025#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {12018#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {12025#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {12025#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:32:31,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {12032#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 10 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {12025#(or (<= 10 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:32:31,447 INFO L290 TraceCheckUtils]: 29: Hoare triple {12032#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 10 |student_version_#in~w|))} assume !!(~i~1 < ~w); {12032#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,447 INFO L290 TraceCheckUtils]: 28: Hoare triple {12039#(or (<= 10 |student_version_#in~w|) (< student_version_~w 10))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {12032#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 10 |student_version_#in~w|))} is VALID [2022-04-08 10:32:31,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {11750#true} ~w := #in~w;~is_divisible~1 := ~true~0; {12039#(or (<= 10 |student_version_#in~w|) (< student_version_~w 10))} is VALID [2022-04-08 10:32:31,448 INFO L272 TraceCheckUtils]: 26: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:31,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:31,449 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11799#(<= |correct_version_#in~w| 9)} {11750#true} #87#return; {11772#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 9)))} is VALID [2022-04-08 10:32:31,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:31,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {11799#(<= |correct_version_#in~w| 9)} #res := ~is_divisible~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:31,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {12061#(or (<= |correct_version_#in~w| 9) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-08 10:32:31,450 INFO L290 TraceCheckUtils]: 20: Hoare triple {12065#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 9) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {12061#(or (<= |correct_version_#in~w| 9) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:32:31,451 INFO L290 TraceCheckUtils]: 19: Hoare triple {12069#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 9))} ~i~0 := 2 + ~i~0; {12065#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 9) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:32:31,451 INFO L290 TraceCheckUtils]: 18: Hoare triple {12069#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 9))} assume !!(~i~0 < ~w); {12069#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,451 INFO L290 TraceCheckUtils]: 17: Hoare triple {12076#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 9))} ~i~0 := 2 + ~i~0; {12069#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {12076#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 9))} assume !!(~i~0 < ~w); {12076#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {12083#(or (<= (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 9))} ~i~0 := 2 + ~i~0; {12076#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,453 INFO L290 TraceCheckUtils]: 14: Hoare triple {12083#(or (<= (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 9))} assume !!(~i~0 < ~w); {12083#(or (<= (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {12090#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 9))} ~i~0 := 2 + ~i~0; {12083#(or (<= (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {12090#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 9))} assume !!(~i~0 < ~w); {12090#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {12097#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 9))} ~i~0 := 2 + ~i~0; {12090#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,454 INFO L290 TraceCheckUtils]: 10: Hoare triple {12097#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 9))} assume !!(~i~0 < ~w); {12097#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {12104#(or (<= 10 correct_version_~w) (<= |correct_version_#in~w| 9))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {12097#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {11750#true} ~w := #in~w;~is_divisible~0 := ~true~0; {12104#(or (<= 10 correct_version_~w) (<= |correct_version_#in~w| 9))} is VALID [2022-04-08 10:32:31,455 INFO L272 TraceCheckUtils]: 7: Hoare triple {11750#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {11750#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {11750#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {11750#true} is VALID [2022-04-08 10:32:31,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {11750#true} call ULTIMATE.init(); {11750#true} is VALID [2022-04-08 10:32:31,456 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:31,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [680391132] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:31,456 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:31,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 51 [2022-04-08 10:32:31,456 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:31,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1812190772] [2022-04-08 10:32:31,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1812190772] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:31,456 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:31,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:32:31,456 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1407402849] [2022-04-08 10:32:31,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:31,457 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-08 10:32:31,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:31,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:31,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:31,497 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:32:31,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:31,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:32:31,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=407, Invalid=2143, Unknown=0, NotChecked=0, Total=2550 [2022-04-08 10:32:31,499 INFO L87 Difference]: Start difference. First operand 58 states and 61 transitions. Second operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:32,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:32,731 INFO L93 Difference]: Finished difference Result 78 states and 85 transitions. [2022-04-08 10:32:32,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 10:32:32,732 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-08 10:32:32,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:32,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:32,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-08 10:32:32,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:32,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-08 10:32:32,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 80 transitions. [2022-04-08 10:32:32,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:32,797 INFO L225 Difference]: With dead ends: 78 [2022-04-08 10:32:32,797 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 10:32:32,799 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1790 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=727, Invalid=3965, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 10:32:32,804 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 74 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 400 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 425 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 400 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:32,804 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 67 Invalid, 425 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 400 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:32:32,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 10:32:33,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 61. [2022-04-08 10:32:33,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:33,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:33,025 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:33,025 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:33,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:33,026 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-08 10:32:33,026 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-08 10:32:33,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:33,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:33,027 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:32:33,027 INFO L87 Difference]: Start difference. First operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:32:33,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:33,028 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-08 10:32:33,028 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-08 10:32:33,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:33,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:33,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:33,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:33,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 51 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:33,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 65 transitions. [2022-04-08 10:32:33,030 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 65 transitions. Word has length 49 [2022-04-08 10:32:33,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:33,030 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 65 transitions. [2022-04-08 10:32:33,030 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:33,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 65 transitions. [2022-04-08 10:32:33,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:33,115 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2022-04-08 10:32:33,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:32:33,115 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:33,115 INFO L499 BasicCegarLoop]: 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] [2022-04-08 10:32:33,131 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 10:32:33,315 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:33,316 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:33,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:33,316 INFO L85 PathProgramCache]: Analyzing trace with hash -969594157, now seen corresponding path program 15 times [2022-04-08 10:32:33,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:33,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [600734089] [2022-04-08 10:32:33,320 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:33,320 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:33,320 INFO L85 PathProgramCache]: Analyzing trace with hash -969594157, now seen corresponding path program 16 times [2022-04-08 10:32:33,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:33,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [724324690] [2022-04-08 10:32:33,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:33,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:33,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:33,362 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:33,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:33,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {12619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {12579#true} is VALID [2022-04-08 10:32:33,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-08 10:32:33,366 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-08 10:32:33,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:33,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:33,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {12579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {12620#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:33,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {12620#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,460 INFO L290 TraceCheckUtils]: 4: Hoare triple {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,463 INFO L290 TraceCheckUtils]: 10: Hoare triple {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} #res := ~is_divisible~0; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,465 INFO L290 TraceCheckUtils]: 15: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,466 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12627#(<= 10 |correct_version_#in~w|)} {12579#true} #87#return; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:33,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:32:33,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:33,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {12579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {12628#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:33,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {12628#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:33,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:33,609 INFO L290 TraceCheckUtils]: 3: Hoare triple {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,609 INFO L290 TraceCheckUtils]: 4: Hoare triple {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:33,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:33,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,611 INFO L290 TraceCheckUtils]: 10: Hoare triple {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12634#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)))} is VALID [2022-04-08 10:32:33,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {12634#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)))} assume !(~i~1 < ~w); {12635#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:32:33,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {12635#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {12636#(<= |student_version_#in~w| 9)} #res := ~is_divisible~1; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12636#(<= |student_version_#in~w| 9)} {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} #89#return; {12580#false} is VALID [2022-04-08 10:32:33,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {12579#true} call ULTIMATE.init(); {12619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:33,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {12619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {12579#true} is VALID [2022-04-08 10:32:33,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {12579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L272 TraceCheckUtils]: 7: Hoare triple {12579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:33,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {12579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {12620#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:33,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {12620#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {12621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:33,618 INFO L290 TraceCheckUtils]: 13: Hoare triple {12622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {12623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {12624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {12625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:33,621 INFO L290 TraceCheckUtils]: 21: Hoare triple {12626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,621 INFO L290 TraceCheckUtils]: 22: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} #res := ~is_divisible~0; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,621 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:33,622 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {12627#(<= 10 |correct_version_#in~w|)} {12579#true} #87#return; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:33,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:33,623 INFO L272 TraceCheckUtils]: 26: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:33,623 INFO L290 TraceCheckUtils]: 27: Hoare triple {12579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {12628#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:33,623 INFO L290 TraceCheckUtils]: 28: Hoare triple {12628#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:33,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:33,624 INFO L290 TraceCheckUtils]: 30: Hoare triple {12629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,625 INFO L290 TraceCheckUtils]: 32: Hoare triple {12630#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,625 INFO L290 TraceCheckUtils]: 33: Hoare triple {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {12631#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:33,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:33,626 INFO L290 TraceCheckUtils]: 36: Hoare triple {12632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:33,627 INFO L290 TraceCheckUtils]: 38: Hoare triple {12633#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {12634#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)))} is VALID [2022-04-08 10:32:33,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {12634#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)))} assume !(~i~1 < ~w); {12635#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:32:33,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {12635#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 10)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {12636#(<= |student_version_#in~w| 9)} #res := ~is_divisible~1; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,629 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:33,629 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {12636#(<= |student_version_#in~w| 9)} {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} #89#return; {12580#false} is VALID [2022-04-08 10:32:33,629 INFO L290 TraceCheckUtils]: 44: Hoare triple {12580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {12580#false} is VALID [2022-04-08 10:32:33,629 INFO L272 TraceCheckUtils]: 45: Hoare triple {12580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {12580#false} is VALID [2022-04-08 10:32:33,630 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-08 10:32:33,630 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-08 10:32:33,630 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-08 10:32:33,630 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:33,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:33,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [724324690] [2022-04-08 10:32:33,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [724324690] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:33,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2062996456] [2022-04-08 10:32:33,630 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:32:33,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:33,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:33,632 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:33,632 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 10:32:33,681 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:32:33,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:33,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 10:32:33,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:33,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:34,603 INFO L272 TraceCheckUtils]: 0: Hoare triple {12579#true} call ULTIMATE.init(); {12579#true} is VALID [2022-04-08 10:32:34,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {12579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {12579#true} is VALID [2022-04-08 10:32:34,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {12579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L272 TraceCheckUtils]: 7: Hoare triple {12579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:34,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {12579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {12664#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:32:34,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {12664#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {12668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {12668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {12668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {12668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {12675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {12675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {12675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {12682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {12682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {12682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:34,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {12689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:34,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {12689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {12696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {12696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:32:34,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {12696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {12703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:34,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {12703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !(~i~0 < ~w); {12703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:34,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {12703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !(~i~0 != ~w); {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:34,610 INFO L290 TraceCheckUtils]: 22: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} #res := ~is_divisible~0; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:34,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:34,611 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {12627#(<= 10 |correct_version_#in~w|)} {12579#true} #87#return; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:34,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:34,616 INFO L272 TraceCheckUtils]: 26: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:34,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {12579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {12728#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:34,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {12728#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {12732#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:34,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {12732#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {12732#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:34,618 INFO L290 TraceCheckUtils]: 30: Hoare triple {12732#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {12739#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:34,619 INFO L290 TraceCheckUtils]: 31: Hoare triple {12739#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {12739#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:34,620 INFO L290 TraceCheckUtils]: 32: Hoare triple {12739#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {12746#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:34,621 INFO L290 TraceCheckUtils]: 33: Hoare triple {12746#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {12746#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:34,621 INFO L290 TraceCheckUtils]: 34: Hoare triple {12746#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {12753#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:34,622 INFO L290 TraceCheckUtils]: 35: Hoare triple {12753#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {12753#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:34,622 INFO L290 TraceCheckUtils]: 36: Hoare triple {12753#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {12760#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:32:34,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {12760#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {12760#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:32:34,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {12760#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {12767#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:32:34,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {12767#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !(~i~1 < ~w); {12771#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:32:34,631 INFO L290 TraceCheckUtils]: 40: Hoare triple {12771#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 10))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:34,632 INFO L290 TraceCheckUtils]: 41: Hoare triple {12636#(<= |student_version_#in~w| 9)} #res := ~is_divisible~1; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:34,632 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:34,633 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {12636#(<= |student_version_#in~w| 9)} {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} #89#return; {12580#false} is VALID [2022-04-08 10:32:34,633 INFO L290 TraceCheckUtils]: 44: Hoare triple {12580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {12580#false} is VALID [2022-04-08 10:32:34,633 INFO L272 TraceCheckUtils]: 45: Hoare triple {12580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {12580#false} is VALID [2022-04-08 10:32:34,633 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-08 10:32:34,633 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-08 10:32:34,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-08 10:32:34,634 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:34,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:42,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-08 10:32:42,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-08 10:32:42,598 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-08 10:32:42,598 INFO L272 TraceCheckUtils]: 45: Hoare triple {12580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {12580#false} is VALID [2022-04-08 10:32:42,598 INFO L290 TraceCheckUtils]: 44: Hoare triple {12580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {12580#false} is VALID [2022-04-08 10:32:42,599 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {12636#(<= |student_version_#in~w| 9)} {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} #89#return; {12580#false} is VALID [2022-04-08 10:32:42,600 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:42,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {12636#(<= |student_version_#in~w| 9)} #res := ~is_divisible~1; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:42,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {12826#(or (<= |student_version_#in~w| 9) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-08 10:32:42,601 INFO L290 TraceCheckUtils]: 39: Hoare triple {12830#(or (<= |student_version_#in~w| 9) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {12826#(or (<= |student_version_#in~w| 9) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:32:42,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {12834#(or (<= |student_version_#in~w| 9) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {12830#(or (<= |student_version_#in~w| 9) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:32:42,601 INFO L290 TraceCheckUtils]: 37: Hoare triple {12834#(or (<= |student_version_#in~w| 9) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {12834#(or (<= |student_version_#in~w| 9) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:42,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {12841#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {12834#(or (<= |student_version_#in~w| 9) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:32:42,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {12841#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {12841#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:32:42,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {12848#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 9))} ~i~1 := 2 + ~i~1; {12841#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:32:42,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {12848#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 9))} assume !!(~i~1 < ~w); {12848#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 9))} is VALID [2022-04-08 10:32:42,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {12855#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {12848#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 9))} is VALID [2022-04-08 10:32:42,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {12855#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {12855#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:32:42,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {12862#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 9))} ~i~1 := 2 + ~i~1; {12855#(or (<= |student_version_#in~w| 9) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:32:42,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {12862#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 9))} assume !!(~i~1 < ~w); {12862#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 9))} is VALID [2022-04-08 10:32:42,605 INFO L290 TraceCheckUtils]: 28: Hoare triple {12869#(or (<= 10 student_version_~w) (<= |student_version_#in~w| 9))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {12862#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 9))} is VALID [2022-04-08 10:32:42,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {12579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {12869#(or (<= 10 student_version_~w) (<= |student_version_#in~w| 9))} is VALID [2022-04-08 10:32:42,605 INFO L272 TraceCheckUtils]: 26: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:42,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:42,606 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {12627#(<= 10 |correct_version_#in~w|)} {12579#true} #87#return; {12601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 10) main_~w~0))} is VALID [2022-04-08 10:32:42,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:42,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} #res := ~is_divisible~0; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:42,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {12891#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 10 |correct_version_#in~w|))} assume !(~i~0 != ~w); {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:42,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {12891#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 10 |correct_version_#in~w|))} assume !(~i~0 < ~w); {12891#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {12898#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 10 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12891#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {12898#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 10 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12898#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {12905#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 10 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12898#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {12905#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 10 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12905#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {12912#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 10 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12905#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {12912#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 10 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12912#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {12919#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 10 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12912#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,611 INFO L290 TraceCheckUtils]: 12: Hoare triple {12919#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 10 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12919#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {12926#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 10 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {12919#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,612 INFO L290 TraceCheckUtils]: 10: Hoare triple {12926#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 10 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {12926#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,612 INFO L290 TraceCheckUtils]: 9: Hoare triple {12933#(or (< correct_version_~w 10) (<= 10 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {12926#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,612 INFO L290 TraceCheckUtils]: 8: Hoare triple {12579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {12933#(or (< correct_version_~w 10) (<= 10 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:42,612 INFO L272 TraceCheckUtils]: 7: Hoare triple {12579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {12579#true} is VALID [2022-04-08 10:32:42,612 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-08 10:32:42,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {12579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {12579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {12579#true} call ULTIMATE.init(); {12579#true} is VALID [2022-04-08 10:32:42,613 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 25 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:42,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2062996456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:42,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:42,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 51 [2022-04-08 10:32:42,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:42,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [600734089] [2022-04-08 10:32:42,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [600734089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:42,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:42,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-08 10:32:42,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [116221814] [2022-04-08 10:32:42,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:42,614 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-08 10:32:42,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:42,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:42,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:42,646 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-08 10:32:42,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:42,646 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-08 10:32:42,647 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=407, Invalid=2143, Unknown=0, NotChecked=0, Total=2550 [2022-04-08 10:32:42,647 INFO L87 Difference]: Start difference. First operand 61 states and 65 transitions. Second operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:43,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:43,799 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-08 10:32:43,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 10:32:43,799 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 49 [2022-04-08 10:32:43,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:43,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:43,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 73 transitions. [2022-04-08 10:32:43,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:43,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 73 transitions. [2022-04-08 10:32:43,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 73 transitions. [2022-04-08 10:32:43,866 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-08 10:32:43,867 INFO L225 Difference]: With dead ends: 73 [2022-04-08 10:32:43,867 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 10:32:43,868 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1796 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=727, Invalid=3965, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 10:32:43,868 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 84 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 356 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 384 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 356 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:43,869 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 60 Invalid, 384 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 356 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:32:43,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 10:32:44,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-04-08 10:32:44,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:44,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:44,116 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:44,116 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:44,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:44,117 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-08 10:32:44,117 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-08 10:32:44,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:44,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:44,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-08 10:32:44,118 INFO L87 Difference]: Start difference. First operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-08 10:32:44,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:44,119 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-08 10:32:44,119 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-08 10:32:44,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:44,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:44,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:44,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:44,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:44,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 69 transitions. [2022-04-08 10:32:44,121 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 69 transitions. Word has length 49 [2022-04-08 10:32:44,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:44,121 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 69 transitions. [2022-04-08 10:32:44,121 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.9523809523809523) internal successors, (41), 20 states have internal predecessors, (41), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:44,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 69 transitions. [2022-04-08 10:32:44,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:44,232 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-08 10:32:44,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:32:44,233 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:44,233 INFO L499 BasicCegarLoop]: 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] [2022-04-08 10:32:44,261 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 10:32:44,433 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:44,434 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:44,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:44,434 INFO L85 PathProgramCache]: Analyzing trace with hash -1499302699, now seen corresponding path program 17 times [2022-04-08 10:32:44,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:44,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1744759583] [2022-04-08 10:32:44,437 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:44,437 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:44,437 INFO L85 PathProgramCache]: Analyzing trace with hash -1499302699, now seen corresponding path program 18 times [2022-04-08 10:32:44,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:44,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [41145013] [2022-04-08 10:32:44,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:44,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:44,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:44,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:44,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:44,478 INFO L290 TraceCheckUtils]: 0: Hoare triple {13440#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {13398#true} is VALID [2022-04-08 10:32:44,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-08 10:32:44,478 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-08 10:32:44,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:44,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:44,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {13398#true} ~w := #in~w;~is_divisible~0 := ~true~0; {13441#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:44,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {13441#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,565 INFO L290 TraceCheckUtils]: 3: Hoare triple {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,566 INFO L290 TraceCheckUtils]: 4: Hoare triple {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:44,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:44,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {13447#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {13447#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {13448#(and (<= correct_version_~w 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {13448#(and (<= correct_version_~w 10) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {13449#(<= |correct_version_#in~w| 10)} #res := ~is_divisible~0; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13449#(<= |correct_version_#in~w| 10)} {13398#true} #87#return; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:44,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-08 10:32:44,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:44,688 INFO L290 TraceCheckUtils]: 0: Hoare triple {13398#true} ~w := #in~w;~is_divisible~1 := ~true~0; {13450#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:44,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {13450#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,689 INFO L290 TraceCheckUtils]: 3: Hoare triple {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,690 INFO L290 TraceCheckUtils]: 4: Hoare triple {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:44,690 INFO L290 TraceCheckUtils]: 6: Hoare triple {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:44,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:44,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:44,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:44,692 INFO L290 TraceCheckUtils]: 10: Hoare triple {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:44,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13456#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {13456#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} ~i~1 := 2 + ~i~1; {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} assume !(~i~1 < ~w); {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,694 INFO L290 TraceCheckUtils]: 16: Hoare triple {13458#(<= 11 |student_version_#in~w|)} #res := ~is_divisible~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,694 INFO L290 TraceCheckUtils]: 17: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,695 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13458#(<= 11 |student_version_#in~w|)} {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} #89#return; {13399#false} is VALID [2022-04-08 10:32:44,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {13398#true} call ULTIMATE.init(); {13440#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:44,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {13440#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {13398#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-08 10:32:44,696 INFO L272 TraceCheckUtils]: 7: Hoare triple {13398#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:44,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {13398#true} ~w := #in~w;~is_divisible~0 := ~true~0; {13441#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:44,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {13441#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,697 INFO L290 TraceCheckUtils]: 10: Hoare triple {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {13442#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {13443#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,699 INFO L290 TraceCheckUtils]: 15: Hoare triple {13444#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,700 INFO L290 TraceCheckUtils]: 17: Hoare triple {13445#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:44,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:44,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {13446#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {13447#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {13447#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {13448#(and (<= correct_version_~w 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:44,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {13448#(and (<= correct_version_~w 10) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {13449#(<= |correct_version_#in~w| 10)} #res := ~is_divisible~0; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:44,703 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {13449#(<= |correct_version_#in~w| 10)} {13398#true} #87#return; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:44,703 INFO L290 TraceCheckUtils]: 25: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:44,703 INFO L272 TraceCheckUtils]: 26: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:44,703 INFO L290 TraceCheckUtils]: 27: Hoare triple {13398#true} ~w := #in~w;~is_divisible~1 := ~true~0; {13450#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:44,704 INFO L290 TraceCheckUtils]: 28: Hoare triple {13450#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {13451#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,705 INFO L290 TraceCheckUtils]: 32: Hoare triple {13452#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:44,706 INFO L290 TraceCheckUtils]: 33: Hoare triple {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:44,706 INFO L290 TraceCheckUtils]: 34: Hoare triple {13453#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:44,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:44,707 INFO L290 TraceCheckUtils]: 36: Hoare triple {13454#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:44,707 INFO L290 TraceCheckUtils]: 37: Hoare triple {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:44,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {13455#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13456#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:44,708 INFO L290 TraceCheckUtils]: 39: Hoare triple {13456#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} ~i~1 := 2 + ~i~1; {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} assume !(~i~1 < ~w); {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} is VALID [2022-04-08 10:32:44,709 INFO L290 TraceCheckUtils]: 42: Hoare triple {13457#(and (= |student_version_#in~w| student_version_~w) (<= 11 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,709 INFO L290 TraceCheckUtils]: 43: Hoare triple {13458#(<= 11 |student_version_#in~w|)} #res := ~is_divisible~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,710 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:44,710 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13458#(<= 11 |student_version_#in~w|)} {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} #89#return; {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L290 TraceCheckUtils]: 46: Hoare triple {13399#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L272 TraceCheckUtils]: 47: Hoare triple {13399#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-08 10:32:44,711 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 25 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:44,711 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:44,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [41145013] [2022-04-08 10:32:44,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [41145013] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:44,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1725143213] [2022-04-08 10:32:44,712 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:32:44,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:44,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:44,715 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:44,719 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 10:32:44,770 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 10:32:44,770 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:44,771 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:32:44,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:44,786 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:45,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {13398#true} call ULTIMATE.init(); {13398#true} is VALID [2022-04-08 10:32:45,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {13398#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {13398#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L272 TraceCheckUtils]: 7: Hoare triple {13398#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:45,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {13398#true} ~w := #in~w;~is_divisible~0 := ~true~0; {13486#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:45,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {13486#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {13490#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:45,419 INFO L290 TraceCheckUtils]: 10: Hoare triple {13490#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {13490#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:45,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {13490#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {13497#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:45,420 INFO L290 TraceCheckUtils]: 12: Hoare triple {13497#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {13497#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:45,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {13497#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {13504#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:45,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {13504#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {13504#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:45,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {13504#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {13511#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:45,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {13511#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {13511#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:45,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {13511#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {13518#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:45,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {13518#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {13518#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:45,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {13518#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {13525#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:32:45,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {13525#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !(~i~0 < ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:45,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume !(~i~0 != ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:45,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {13449#(<= |correct_version_#in~w| 10)} #res := ~is_divisible~0; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:45,424 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:45,425 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {13449#(<= |correct_version_#in~w| 10)} {13398#true} #87#return; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:45,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:45,425 INFO L272 TraceCheckUtils]: 26: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:45,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {13398#true} ~w := #in~w;~is_divisible~1 := ~true~0; {13550#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,426 INFO L290 TraceCheckUtils]: 28: Hoare triple {13550#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {13554#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {13554#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {13554#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {13554#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13561#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {13561#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {13561#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,427 INFO L290 TraceCheckUtils]: 32: Hoare triple {13561#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13568#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:45,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {13568#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {13568#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:45,428 INFO L290 TraceCheckUtils]: 34: Hoare triple {13568#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {13575#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {13575#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {13575#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {13575#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13582#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,429 INFO L290 TraceCheckUtils]: 37: Hoare triple {13582#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {13582#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {13582#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13589#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:45,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {13589#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {13458#(<= 11 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,431 INFO L290 TraceCheckUtils]: 41: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume !(~i~1 < ~w); {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,431 INFO L290 TraceCheckUtils]: 42: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,431 INFO L290 TraceCheckUtils]: 43: Hoare triple {13458#(<= 11 |student_version_#in~w|)} #res := ~is_divisible~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:45,432 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13458#(<= 11 |student_version_#in~w|)} {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} #89#return; {13399#false} is VALID [2022-04-08 10:32:45,432 INFO L290 TraceCheckUtils]: 46: Hoare triple {13399#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {13399#false} is VALID [2022-04-08 10:32:45,432 INFO L272 TraceCheckUtils]: 47: Hoare triple {13399#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {13399#false} is VALID [2022-04-08 10:32:45,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-08 10:32:45,433 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-08 10:32:45,433 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-08 10:32:45,433 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 25 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:45,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:48,808 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-08 10:32:48,809 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-08 10:32:48,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-08 10:32:48,809 INFO L272 TraceCheckUtils]: 47: Hoare triple {13399#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {13399#false} is VALID [2022-04-08 10:32:48,809 INFO L290 TraceCheckUtils]: 46: Hoare triple {13399#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {13399#false} is VALID [2022-04-08 10:32:48,810 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {13458#(<= 11 |student_version_#in~w|)} {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} #89#return; {13399#false} is VALID [2022-04-08 10:32:48,810 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,810 INFO L290 TraceCheckUtils]: 43: Hoare triple {13458#(<= 11 |student_version_#in~w|)} #res := ~is_divisible~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,810 INFO L290 TraceCheckUtils]: 42: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,811 INFO L290 TraceCheckUtils]: 41: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume !(~i~1 < ~w); {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,811 INFO L290 TraceCheckUtils]: 40: Hoare triple {13458#(<= 11 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {13662#(or (not (< student_version_~i~1 student_version_~w)) (<= 11 |student_version_#in~w|))} assume !!(~i~1 < ~w); {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-08 10:32:48,812 INFO L290 TraceCheckUtils]: 38: Hoare triple {13666#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 11 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13662#(or (not (< student_version_~i~1 student_version_~w)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,812 INFO L290 TraceCheckUtils]: 37: Hoare triple {13666#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 11 |student_version_#in~w|))} assume !!(~i~1 < ~w); {13666#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,813 INFO L290 TraceCheckUtils]: 36: Hoare triple {13673#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 11 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13666#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,813 INFO L290 TraceCheckUtils]: 35: Hoare triple {13673#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 11 |student_version_#in~w|))} assume !!(~i~1 < ~w); {13673#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {13680#(or (<= 11 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {13673#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,814 INFO L290 TraceCheckUtils]: 33: Hoare triple {13680#(or (<= 11 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {13680#(or (<= 11 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:32:48,814 INFO L290 TraceCheckUtils]: 32: Hoare triple {13687#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 11 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13680#(or (<= 11 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:32:48,814 INFO L290 TraceCheckUtils]: 31: Hoare triple {13687#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 11 |student_version_#in~w|))} assume !!(~i~1 < ~w); {13687#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,815 INFO L290 TraceCheckUtils]: 30: Hoare triple {13694#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 11 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {13687#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,815 INFO L290 TraceCheckUtils]: 29: Hoare triple {13694#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 11 |student_version_#in~w|))} assume !!(~i~1 < ~w); {13694#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,815 INFO L290 TraceCheckUtils]: 28: Hoare triple {13701#(or (<= student_version_~w 10) (<= 11 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {13694#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,816 INFO L290 TraceCheckUtils]: 27: Hoare triple {13398#true} ~w := #in~w;~is_divisible~1 := ~true~0; {13701#(or (<= student_version_~w 10) (<= 11 |student_version_#in~w|))} is VALID [2022-04-08 10:32:48,816 INFO L272 TraceCheckUtils]: 26: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:48,816 INFO L290 TraceCheckUtils]: 25: Hoare triple {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:48,817 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {13449#(<= |correct_version_#in~w| 10)} {13398#true} #87#return; {13420#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 10)))} is VALID [2022-04-08 10:32:48,817 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:48,818 INFO L290 TraceCheckUtils]: 22: Hoare triple {13449#(<= |correct_version_#in~w| 10)} #res := ~is_divisible~0; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:48,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume !(~i~0 != ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:48,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {13726#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 10))} assume !(~i~0 < ~w); {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-08 10:32:48,819 INFO L290 TraceCheckUtils]: 19: Hoare triple {13730#(or (<= |correct_version_#in~w| 10) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {13726#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {13730#(or (<= |correct_version_#in~w| 10) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {13730#(or (<= |correct_version_#in~w| 10) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:32:48,820 INFO L290 TraceCheckUtils]: 17: Hoare triple {13737#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 10))} ~i~0 := 2 + ~i~0; {13730#(or (<= |correct_version_#in~w| 10) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:32:48,820 INFO L290 TraceCheckUtils]: 16: Hoare triple {13737#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 10))} assume !!(~i~0 < ~w); {13737#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {13744#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 10))} ~i~0 := 2 + ~i~0; {13737#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {13744#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 10))} assume !!(~i~0 < ~w); {13744#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {13751#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 10))} ~i~0 := 2 + ~i~0; {13744#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,821 INFO L290 TraceCheckUtils]: 12: Hoare triple {13751#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 10))} assume !!(~i~0 < ~w); {13751#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {13758#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 10))} ~i~0 := 2 + ~i~0; {13751#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,822 INFO L290 TraceCheckUtils]: 10: Hoare triple {13758#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 10))} assume !!(~i~0 < ~w); {13758#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {13765#(or (<= |correct_version_#in~w| 10) (< 10 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {13758#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 10))} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {13398#true} ~w := #in~w;~is_divisible~0 := ~true~0; {13765#(or (<= |correct_version_#in~w| 10) (< 10 correct_version_~w))} is VALID [2022-04-08 10:32:48,823 INFO L272 TraceCheckUtils]: 7: Hoare triple {13398#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 5: Hoare triple {13398#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-08 10:32:48,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {13398#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {13398#true} is VALID [2022-04-08 10:32:48,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {13398#true} call ULTIMATE.init(); {13398#true} is VALID [2022-04-08 10:32:48,824 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 36 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:48,824 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1725143213] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:48,824 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:48,824 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19, 19] total 50 [2022-04-08 10:32:48,824 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:48,824 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1744759583] [2022-04-08 10:32:48,824 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1744759583] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:48,824 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:48,824 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 10:32:48,825 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436328705] [2022-04-08 10:32:48,825 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:48,825 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-08 10:32:48,825 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:48,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:48,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:48,857 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 10:32:48,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:48,858 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 10:32:48,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=2037, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 10:32:48,858 INFO L87 Difference]: Start difference. First operand 64 states and 69 transitions. Second operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:50,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:50,208 INFO L93 Difference]: Finished difference Result 79 states and 84 transitions. [2022-04-08 10:32:50,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 10:32:50,208 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-08 10:32:50,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:50,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:50,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2022-04-08 10:32:50,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:50,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2022-04-08 10:32:50,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 76 transitions. [2022-04-08 10:32:50,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:50,270 INFO L225 Difference]: With dead ends: 79 [2022-04-08 10:32:50,270 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 10:32:50,271 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 73 SyntacticMatches, 5 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1764 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=720, Invalid=3702, Unknown=0, NotChecked=0, Total=4422 [2022-04-08 10:32:50,271 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 73 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 462 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 487 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 462 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:50,271 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 77 Invalid, 487 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 462 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:32:50,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 10:32:50,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2022-04-08 10:32:50,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:50,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:50,532 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:50,532 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:50,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:50,533 INFO L93 Difference]: Finished difference Result 67 states and 71 transitions. [2022-04-08 10:32:50,533 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-08 10:32:50,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:50,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:50,533 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:32:50,533 INFO L87 Difference]: Start difference. First operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:32:50,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:50,534 INFO L93 Difference]: Finished difference Result 67 states and 71 transitions. [2022-04-08 10:32:50,534 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-08 10:32:50,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:50,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:50,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:50,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:50,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 51 states have (on average 1.0980392156862746) internal successors, (56), 53 states have internal predecessors, (56), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:50,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 67 transitions. [2022-04-08 10:32:50,536 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 67 transitions. Word has length 51 [2022-04-08 10:32:50,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:50,536 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 67 transitions. [2022-04-08 10:32:50,536 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:50,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 67 transitions. [2022-04-08 10:32:50,642 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-08 10:32:50,642 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-08 10:32:50,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 10:32:50,643 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:50,643 INFO L499 BasicCegarLoop]: 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] [2022-04-08 10:32:50,667 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-08 10:32:50,859 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:50,859 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:50,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:50,860 INFO L85 PathProgramCache]: Analyzing trace with hash 1741263029, now seen corresponding path program 17 times [2022-04-08 10:32:50,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:50,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1209310955] [2022-04-08 10:32:50,862 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:50,862 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:50,862 INFO L85 PathProgramCache]: Analyzing trace with hash 1741263029, now seen corresponding path program 18 times [2022-04-08 10:32:50,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:50,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1532831210] [2022-04-08 10:32:50,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:50,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:50,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:50,901 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:50,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:50,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {14286#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {14244#true} is VALID [2022-04-08 10:32:50,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-08 10:32:50,907 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-08 10:32:50,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:50,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:51,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {14244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {14287#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:51,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {14287#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,011 INFO L290 TraceCheckUtils]: 3: Hoare triple {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,012 INFO L290 TraceCheckUtils]: 4: Hoare triple {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,014 INFO L290 TraceCheckUtils]: 10: Hoare triple {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14293#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {14293#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} ~i~0 := 2 + ~i~0; {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} assume !(~i~0 < ~w); {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} #res := ~is_divisible~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,017 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14295#(<= 11 |correct_version_#in~w|)} {14244#true} #87#return; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:51,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:32:51,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:51,140 INFO L290 TraceCheckUtils]: 0: Hoare triple {14244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {14296#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:51,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {14296#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:51,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:51,141 INFO L290 TraceCheckUtils]: 3: Hoare triple {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,141 INFO L290 TraceCheckUtils]: 4: Hoare triple {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,142 INFO L290 TraceCheckUtils]: 5: Hoare triple {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,142 INFO L290 TraceCheckUtils]: 6: Hoare triple {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:51,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:51,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14302#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:32:51,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {14302#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !(~i~1 < ~w); {14303#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 10))} is VALID [2022-04-08 10:32:51,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {14303#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 10))} assume !(~i~1 != ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {14304#(<= |student_version_#in~w| 10)} #res := ~is_divisible~1; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,146 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14304#(<= |student_version_#in~w| 10)} {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} #89#return; {14245#false} is VALID [2022-04-08 10:32:51,147 INFO L272 TraceCheckUtils]: 0: Hoare triple {14244#true} call ULTIMATE.init(); {14286#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:51,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {14286#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L290 TraceCheckUtils]: 5: Hoare triple {14244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-08 10:32:51,147 INFO L272 TraceCheckUtils]: 7: Hoare triple {14244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:51,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {14244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {14287#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:51,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {14287#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,148 INFO L290 TraceCheckUtils]: 10: Hoare triple {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,149 INFO L290 TraceCheckUtils]: 11: Hoare triple {14288#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:51,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {14289#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,150 INFO L290 TraceCheckUtils]: 14: Hoare triple {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,150 INFO L290 TraceCheckUtils]: 15: Hoare triple {14290#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {14291#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {14292#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {14293#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:51,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {14293#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} ~i~0 := 2 + ~i~0; {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} assume !(~i~0 < ~w); {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} is VALID [2022-04-08 10:32:51,153 INFO L290 TraceCheckUtils]: 23: Hoare triple {14294#(and (= |correct_version_#in~w| correct_version_~w) (<= 11 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,154 INFO L290 TraceCheckUtils]: 24: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} #res := ~is_divisible~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:51,155 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14295#(<= 11 |correct_version_#in~w|)} {14244#true} #87#return; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:51,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:51,155 INFO L272 TraceCheckUtils]: 28: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:51,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {14244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {14296#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:51,156 INFO L290 TraceCheckUtils]: 30: Hoare triple {14296#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:51,156 INFO L290 TraceCheckUtils]: 31: Hoare triple {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:51,156 INFO L290 TraceCheckUtils]: 32: Hoare triple {14297#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,157 INFO L290 TraceCheckUtils]: 33: Hoare triple {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,157 INFO L290 TraceCheckUtils]: 34: Hoare triple {14298#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,158 INFO L290 TraceCheckUtils]: 35: Hoare triple {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {14299#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:51,158 INFO L290 TraceCheckUtils]: 37: Hoare triple {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:51,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {14300#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:51,160 INFO L290 TraceCheckUtils]: 40: Hoare triple {14301#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {14302#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:32:51,160 INFO L290 TraceCheckUtils]: 41: Hoare triple {14302#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !(~i~1 < ~w); {14303#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 10))} is VALID [2022-04-08 10:32:51,160 INFO L290 TraceCheckUtils]: 42: Hoare triple {14303#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 10))} assume !(~i~1 != ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {14304#(<= |student_version_#in~w| 10)} #res := ~is_divisible~1; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,161 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:51,162 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14304#(<= |student_version_#in~w| 10)} {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} #89#return; {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L290 TraceCheckUtils]: 46: Hoare triple {14245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L272 TraceCheckUtils]: 47: Hoare triple {14245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-08 10:32:51,162 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 25 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:51,162 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:51,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1532831210] [2022-04-08 10:32:51,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1532831210] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:51,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [145284626] [2022-04-08 10:32:51,163 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:32:51,163 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:51,163 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:51,164 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:51,164 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 10:32:51,217 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 10:32:51,217 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:51,217 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 10:32:51,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:51,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:52,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {14244#true} call ULTIMATE.init(); {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {14244#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {14244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L272 TraceCheckUtils]: 7: Hoare triple {14244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:52,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {14244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {14332#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {14332#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {14336#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,069 INFO L290 TraceCheckUtils]: 10: Hoare triple {14336#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {14336#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,069 INFO L290 TraceCheckUtils]: 11: Hoare triple {14336#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14343#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {14343#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {14343#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {14343#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14350#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {14350#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {14350#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {14350#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14357#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:52,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {14357#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14357#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:52,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {14357#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {14364#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,072 INFO L290 TraceCheckUtils]: 18: Hoare triple {14364#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {14364#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:32:52,073 INFO L290 TraceCheckUtils]: 19: Hoare triple {14364#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {14371#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:32:52,073 INFO L290 TraceCheckUtils]: 20: Hoare triple {14371#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,074 INFO L290 TraceCheckUtils]: 22: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume !(~i~0 < ~w); {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,074 INFO L290 TraceCheckUtils]: 23: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,074 INFO L290 TraceCheckUtils]: 24: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} #res := ~is_divisible~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,074 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:52,075 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14295#(<= 11 |correct_version_#in~w|)} {14244#true} #87#return; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:52,076 INFO L290 TraceCheckUtils]: 27: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:52,076 INFO L272 TraceCheckUtils]: 28: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:52,076 INFO L290 TraceCheckUtils]: 29: Hoare triple {14244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {14402#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:52,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {14402#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {14406#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:52,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {14406#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {14406#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:32:52,077 INFO L290 TraceCheckUtils]: 32: Hoare triple {14406#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {14413#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:52,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {14413#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {14413#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:32:52,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {14413#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {14420#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:52,078 INFO L290 TraceCheckUtils]: 35: Hoare triple {14420#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {14420#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:32:52,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {14420#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {14427#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:52,079 INFO L290 TraceCheckUtils]: 37: Hoare triple {14427#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {14427#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:32:52,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {14427#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {14434#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:32:52,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {14434#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {14434#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:32:52,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {14434#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {14441#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:32:52,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {14441#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !(~i~1 < ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:52,084 INFO L290 TraceCheckUtils]: 42: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume !(~i~1 != ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:52,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {14304#(<= |student_version_#in~w| 10)} #res := ~is_divisible~1; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:52,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:52,085 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14304#(<= |student_version_#in~w| 10)} {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} #89#return; {14245#false} is VALID [2022-04-08 10:32:52,085 INFO L290 TraceCheckUtils]: 46: Hoare triple {14245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {14245#false} is VALID [2022-04-08 10:32:52,086 INFO L272 TraceCheckUtils]: 47: Hoare triple {14245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {14245#false} is VALID [2022-04-08 10:32:52,086 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-08 10:32:52,086 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-08 10:32:52,086 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-08 10:32:52,086 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 25 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:52,086 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:32:55,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-08 10:32:55,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-08 10:32:55,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-08 10:32:55,884 INFO L272 TraceCheckUtils]: 47: Hoare triple {14245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {14245#false} is VALID [2022-04-08 10:32:55,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {14245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {14245#false} is VALID [2022-04-08 10:32:55,885 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14304#(<= |student_version_#in~w| 10)} {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} #89#return; {14245#false} is VALID [2022-04-08 10:32:55,886 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:55,886 INFO L290 TraceCheckUtils]: 43: Hoare triple {14304#(<= |student_version_#in~w| 10)} #res := ~is_divisible~1; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:55,886 INFO L290 TraceCheckUtils]: 42: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume !(~i~1 != ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:55,887 INFO L290 TraceCheckUtils]: 41: Hoare triple {14502#(or (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 10))} assume !(~i~1 < ~w); {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-08 10:32:55,887 INFO L290 TraceCheckUtils]: 40: Hoare triple {14506#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} ~i~1 := 2 + ~i~1; {14502#(or (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,887 INFO L290 TraceCheckUtils]: 39: Hoare triple {14506#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} assume !!(~i~1 < ~w); {14506#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {14513#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 10))} ~i~1 := 2 + ~i~1; {14506#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,888 INFO L290 TraceCheckUtils]: 37: Hoare triple {14513#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 10))} assume !!(~i~1 < ~w); {14513#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,889 INFO L290 TraceCheckUtils]: 36: Hoare triple {14520#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} ~i~1 := 2 + ~i~1; {14513#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,889 INFO L290 TraceCheckUtils]: 35: Hoare triple {14520#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} assume !!(~i~1 < ~w); {14520#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {14527#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 10))} ~i~1 := 2 + ~i~1; {14520#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,890 INFO L290 TraceCheckUtils]: 33: Hoare triple {14527#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 10))} assume !!(~i~1 < ~w); {14527#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,890 INFO L290 TraceCheckUtils]: 32: Hoare triple {14534#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 10))} ~i~1 := 2 + ~i~1; {14527#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,890 INFO L290 TraceCheckUtils]: 31: Hoare triple {14534#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 10))} assume !!(~i~1 < ~w); {14534#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {14541#(or (< 10 student_version_~w) (<= |student_version_#in~w| 10))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {14534#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {14244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {14541#(or (< 10 student_version_~w) (<= |student_version_#in~w| 10))} is VALID [2022-04-08 10:32:55,891 INFO L272 TraceCheckUtils]: 28: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:55,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:55,892 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14295#(<= 11 |correct_version_#in~w|)} {14244#true} #87#return; {14268#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 11) main_~w~0))} is VALID [2022-04-08 10:32:55,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} #res := ~is_divisible~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,894 INFO L290 TraceCheckUtils]: 22: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume !(~i~0 < ~w); {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {14572#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 11 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-08 10:32:55,895 INFO L290 TraceCheckUtils]: 19: Hoare triple {14576#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 11 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {14572#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {14576#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 11 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14576#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {14583#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 11 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {14576#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {14583#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 11 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14583#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,896 INFO L290 TraceCheckUtils]: 15: Hoare triple {14590#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {14583#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,896 INFO L290 TraceCheckUtils]: 14: Hoare triple {14590#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {14590#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:55,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {14597#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 11 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {14590#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:32:55,897 INFO L290 TraceCheckUtils]: 12: Hoare triple {14597#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 11 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {14597#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {14604#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {14597#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,898 INFO L290 TraceCheckUtils]: 10: Hoare triple {14604#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {14604#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:32:55,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {14611#(or (<= correct_version_~w 10) (<= 11 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {14604#(or (<= 11 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:32:55,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {14244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {14611#(or (<= correct_version_~w 10) (<= 11 |correct_version_#in~w|))} is VALID [2022-04-08 10:32:55,899 INFO L272 TraceCheckUtils]: 7: Hoare triple {14244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {14244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {14244#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {14244#true} is VALID [2022-04-08 10:32:55,899 INFO L272 TraceCheckUtils]: 0: Hoare triple {14244#true} call ULTIMATE.init(); {14244#true} is VALID [2022-04-08 10:32:55,900 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 36 proven. 25 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:55,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [145284626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:32:55,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:32:55,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19, 19] total 50 [2022-04-08 10:32:55,900 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:32:55,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1209310955] [2022-04-08 10:32:55,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1209310955] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:32:55,900 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:32:55,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-08 10:32:55,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [76843728] [2022-04-08 10:32:55,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:32:55,901 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-08 10:32:55,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:32:55,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:55,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:55,934 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-08 10:32:55,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:55,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-08 10:32:55,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=2037, Unknown=0, NotChecked=0, Total=2450 [2022-04-08 10:32:55,935 INFO L87 Difference]: Start difference. First operand 63 states and 67 transitions. Second operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:56,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:56,877 INFO L93 Difference]: Finished difference Result 73 states and 76 transitions. [2022-04-08 10:32:56,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 10:32:56,877 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 51 [2022-04-08 10:32:56,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:32:56,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:56,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-08 10:32:56,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:56,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-08 10:32:56,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 68 transitions. [2022-04-08 10:32:56,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:56,942 INFO L225 Difference]: With dead ends: 73 [2022-04-08 10:32:56,942 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 10:32:56,943 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 73 SyntacticMatches, 5 SemanticMatches, 65 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1729 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=720, Invalid=3702, Unknown=0, NotChecked=0, Total=4422 [2022-04-08 10:32:56,943 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 89 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 263 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 291 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 263 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:32:56,944 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 45 Invalid, 291 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 263 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:32:56,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 10:32:57,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-08 10:32:57,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:32:57,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:57,215 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:57,215 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:57,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:57,216 INFO L93 Difference]: Finished difference Result 63 states and 66 transitions. [2022-04-08 10:32:57,216 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 66 transitions. [2022-04-08 10:32:57,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:57,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:57,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:32:57,217 INFO L87 Difference]: Start difference. First operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 63 states. [2022-04-08 10:32:57,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:32:57,218 INFO L93 Difference]: Finished difference Result 63 states and 66 transitions. [2022-04-08 10:32:57,218 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 66 transitions. [2022-04-08 10:32:57,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:32:57,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:32:57,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:32:57,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:32:57,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 50 states have (on average 1.08) internal successors, (54), 52 states have internal predecessors, (54), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:32:57,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 65 transitions. [2022-04-08 10:32:57,220 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 65 transitions. Word has length 51 [2022-04-08 10:32:57,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:32:57,220 INFO L478 AbstractCegarLoop]: Abstraction has 62 states and 65 transitions. [2022-04-08 10:32:57,220 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.9545454545454546) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:32:57,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 65 transitions. [2022-04-08 10:32:57,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:32:57,328 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 65 transitions. [2022-04-08 10:32:57,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 10:32:57,328 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:32:57,328 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 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] [2022-04-08 10:32:57,353 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-08 10:32:57,529 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-08 10:32:57,529 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:32:57,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:32:57,529 INFO L85 PathProgramCache]: Analyzing trace with hash 863265463, now seen corresponding path program 19 times [2022-04-08 10:32:57,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:32:57,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [424300018] [2022-04-08 10:32:57,531 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:32:57,531 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:32:57,531 INFO L85 PathProgramCache]: Analyzing trace with hash 863265463, now seen corresponding path program 20 times [2022-04-08 10:32:57,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:32:57,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [845020113] [2022-04-08 10:32:57,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:32:57,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:32:57,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:57,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:32:57,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:57,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {15112#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15068#true} is VALID [2022-04-08 10:32:57,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-08 10:32:57,573 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-08 10:32:57,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:32:57,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:57,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {15068#true} ~w := #in~w;~is_divisible~0 := ~true~0; {15113#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:57,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {15113#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,712 INFO L290 TraceCheckUtils]: 3: Hoare triple {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:57,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:57,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15120#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {15120#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {15121#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {15121#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {15122#(<= |correct_version_#in~w| 11)} #res := ~is_divisible~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,720 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15122#(<= |correct_version_#in~w| 11)} {15068#true} #87#return; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:32:57,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:32:57,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:57,859 INFO L290 TraceCheckUtils]: 0: Hoare triple {15068#true} ~w := #in~w;~is_divisible~1 := ~true~0; {15123#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:57,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {15123#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,860 INFO L290 TraceCheckUtils]: 3: Hoare triple {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,861 INFO L290 TraceCheckUtils]: 4: Hoare triple {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:57,861 INFO L290 TraceCheckUtils]: 6: Hoare triple {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:57,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:57,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:57,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:57,863 INFO L290 TraceCheckUtils]: 10: Hoare triple {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:57,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,864 INFO L290 TraceCheckUtils]: 12: Hoare triple {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,864 INFO L290 TraceCheckUtils]: 13: Hoare triple {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:32:57,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !(~i~1 < ~w); {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:32:57,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !(~i~1 != ~w); {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {15131#(<= 12 |student_version_#in~w|)} #res := ~is_divisible~1; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,865 INFO L290 TraceCheckUtils]: 17: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,866 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15131#(<= 12 |student_version_#in~w|)} {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {15069#false} is VALID [2022-04-08 10:32:57,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {15068#true} call ULTIMATE.init(); {15112#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:32:57,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {15112#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15068#true} is VALID [2022-04-08 10:32:57,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-08 10:32:57,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-08 10:32:57,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-08 10:32:57,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {15068#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15068#true} is VALID [2022-04-08 10:32:57,868 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-08 10:32:57,868 INFO L272 TraceCheckUtils]: 7: Hoare triple {15068#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:32:57,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {15068#true} ~w := #in~w;~is_divisible~0 := ~true~0; {15113#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:57,868 INFO L290 TraceCheckUtils]: 9: Hoare triple {15113#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {15114#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,869 INFO L290 TraceCheckUtils]: 12: Hoare triple {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {15115#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {15116#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {15117#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:57,872 INFO L290 TraceCheckUtils]: 18: Hoare triple {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:57,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {15118#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,874 INFO L290 TraceCheckUtils]: 21: Hoare triple {15119#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {15120#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {15120#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {15121#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:32:57,875 INFO L290 TraceCheckUtils]: 23: Hoare triple {15121#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 12)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {15122#(<= |correct_version_#in~w| 11)} #res := ~is_divisible~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:57,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15122#(<= |correct_version_#in~w| 11)} {15068#true} #87#return; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:32:57,877 INFO L290 TraceCheckUtils]: 27: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:32:57,877 INFO L272 TraceCheckUtils]: 28: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:32:57,877 INFO L290 TraceCheckUtils]: 29: Hoare triple {15068#true} ~w := #in~w;~is_divisible~1 := ~true~0; {15123#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:32:57,877 INFO L290 TraceCheckUtils]: 30: Hoare triple {15123#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,878 INFO L290 TraceCheckUtils]: 32: Hoare triple {15124#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {15125#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:57,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:57,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {15126#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:57,880 INFO L290 TraceCheckUtils]: 37: Hoare triple {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:32:57,880 INFO L290 TraceCheckUtils]: 38: Hoare triple {15127#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:57,881 INFO L290 TraceCheckUtils]: 39: Hoare triple {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:32:57,881 INFO L290 TraceCheckUtils]: 40: Hoare triple {15128#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,882 INFO L290 TraceCheckUtils]: 41: Hoare triple {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:32:57,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {15129#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:32:57,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !(~i~1 < ~w); {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:32:57,883 INFO L290 TraceCheckUtils]: 44: Hoare triple {15130#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !(~i~1 != ~w); {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,883 INFO L290 TraceCheckUtils]: 45: Hoare triple {15131#(<= 12 |student_version_#in~w|)} #res := ~is_divisible~1; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,883 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:57,884 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15131#(<= 12 |student_version_#in~w|)} {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {15069#false} is VALID [2022-04-08 10:32:57,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {15069#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15069#false} is VALID [2022-04-08 10:32:57,884 INFO L272 TraceCheckUtils]: 49: Hoare triple {15069#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15069#false} is VALID [2022-04-08 10:32:57,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-08 10:32:57,884 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-08 10:32:57,884 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-08 10:32:57,885 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:57,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:32:57,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [845020113] [2022-04-08 10:32:57,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [845020113] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:32:57,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1613917092] [2022-04-08 10:32:57,885 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:32:57,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:32:57,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:32:57,886 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:32:57,887 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-08 10:32:57,938 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:32:57,938 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:32:57,939 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 10:32:57,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:32:57,952 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:32:58,738 INFO L272 TraceCheckUtils]: 0: Hoare triple {15068#true} call ULTIMATE.init(); {15068#true} is VALID [2022-04-08 10:32:58,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {15068#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15068#true} is VALID [2022-04-08 10:32:58,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {15068#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L272 TraceCheckUtils]: 7: Hoare triple {15068#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:32:58,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {15068#true} ~w := #in~w;~is_divisible~0 := ~true~0; {15159#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:32:58,740 INFO L290 TraceCheckUtils]: 9: Hoare triple {15159#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {15163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:58,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {15163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {15163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:32:58,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {15163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {15170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:58,741 INFO L290 TraceCheckUtils]: 12: Hoare triple {15170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {15170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:32:58,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {15170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {15177#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:58,742 INFO L290 TraceCheckUtils]: 14: Hoare triple {15177#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {15177#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:32:58,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {15177#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {15184#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:58,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {15184#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {15184#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:32:58,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {15184#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {15191#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:58,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {15191#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {15191#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:32:58,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {15191#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {15198#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:32:58,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {15198#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {15198#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:32:58,746 INFO L290 TraceCheckUtils]: 21: Hoare triple {15198#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {15205#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:32:58,747 INFO L290 TraceCheckUtils]: 22: Hoare triple {15205#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !(~i~0 < ~w); {15209#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:32:58,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {15209#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 12))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:58,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {15122#(<= |correct_version_#in~w| 11)} #res := ~is_divisible~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:58,748 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:32:58,749 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15122#(<= |correct_version_#in~w| 11)} {15068#true} #87#return; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:32:58,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:32:58,750 INFO L272 TraceCheckUtils]: 28: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:32:58,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {15068#true} ~w := #in~w;~is_divisible~1 := ~true~0; {15231#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:32:58,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {15231#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {15235#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {15235#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {15235#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {15235#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15242#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,752 INFO L290 TraceCheckUtils]: 33: Hoare triple {15242#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {15242#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {15242#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15249#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:58,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {15249#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {15249#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:32:58,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {15249#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {15256#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {15256#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {15256#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {15256#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15263#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {15263#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {15263#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {15263#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15270#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,756 INFO L290 TraceCheckUtils]: 41: Hoare triple {15270#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {15270#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {15270#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15277#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,758 INFO L290 TraceCheckUtils]: 43: Hoare triple {15277#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {15277#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:32:58,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {15277#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:58,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {15131#(<= 12 |student_version_#in~w|)} #res := ~is_divisible~1; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:58,759 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:32:58,760 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15131#(<= 12 |student_version_#in~w|)} {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {15069#false} is VALID [2022-04-08 10:32:58,760 INFO L290 TraceCheckUtils]: 48: Hoare triple {15069#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15069#false} is VALID [2022-04-08 10:32:58,760 INFO L272 TraceCheckUtils]: 49: Hoare triple {15069#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15069#false} is VALID [2022-04-08 10:32:58,760 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-08 10:32:58,760 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-08 10:32:58,761 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-08 10:32:58,761 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:32:58,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:09,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-08 10:33:09,577 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-08 10:33:09,577 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-08 10:33:09,578 INFO L272 TraceCheckUtils]: 49: Hoare triple {15069#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15069#false} is VALID [2022-04-08 10:33:09,578 INFO L290 TraceCheckUtils]: 48: Hoare triple {15069#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15069#false} is VALID [2022-04-08 10:33:09,578 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15131#(<= 12 |student_version_#in~w|)} {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {15069#false} is VALID [2022-04-08 10:33:09,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:33:09,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {15131#(<= 12 |student_version_#in~w|)} #res := ~is_divisible~1; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:33:09,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {15335#(or (<= 12 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-08 10:33:09,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {15335#(or (<= 12 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {15335#(or (<= 12 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:33:09,580 INFO L290 TraceCheckUtils]: 42: Hoare triple {15342#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {15335#(or (<= 12 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:33:09,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {15342#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {15342#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:33:09,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {15349#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 12 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {15342#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:33:09,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {15349#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 12 |student_version_#in~w|))} assume !!(~i~1 < ~w); {15349#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 12 |student_version_#in~w|))} is VALID [2022-04-08 10:33:09,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {15356#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {15349#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 12 |student_version_#in~w|))} is VALID [2022-04-08 10:33:09,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {15356#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {15356#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:33:09,582 INFO L290 TraceCheckUtils]: 36: Hoare triple {15363#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {15356#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:33:09,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {15363#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {15363#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:33:09,583 INFO L290 TraceCheckUtils]: 34: Hoare triple {15370#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 10)))} ~i~1 := 2 + ~i~1; {15363#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:33:09,584 INFO L290 TraceCheckUtils]: 33: Hoare triple {15370#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 10)))} assume !!(~i~1 < ~w); {15370#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 10)))} is VALID [2022-04-08 10:33:09,584 INFO L290 TraceCheckUtils]: 32: Hoare triple {15377#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {15370#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 10)))} is VALID [2022-04-08 10:33:09,584 INFO L290 TraceCheckUtils]: 31: Hoare triple {15377#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {15377#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:33:09,585 INFO L290 TraceCheckUtils]: 30: Hoare triple {15384#(or (< student_version_~w 12) (<= 12 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {15377#(or (<= 12 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:33:09,585 INFO L290 TraceCheckUtils]: 29: Hoare triple {15068#true} ~w := #in~w;~is_divisible~1 := ~true~0; {15384#(or (< student_version_~w 12) (<= 12 |student_version_#in~w|))} is VALID [2022-04-08 10:33:09,585 INFO L272 TraceCheckUtils]: 28: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:33:09,586 INFO L290 TraceCheckUtils]: 27: Hoare triple {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:09,586 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15122#(<= |correct_version_#in~w| 11)} {15068#true} #87#return; {15092#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 11)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:09,587 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:33:09,587 INFO L290 TraceCheckUtils]: 24: Hoare triple {15122#(<= |correct_version_#in~w| 11)} #res := ~is_divisible~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:33:09,587 INFO L290 TraceCheckUtils]: 23: Hoare triple {15406#(or (<= |correct_version_#in~w| 11) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-08 10:33:09,587 INFO L290 TraceCheckUtils]: 22: Hoare triple {15410#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 11) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {15406#(or (<= |correct_version_#in~w| 11) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:33:09,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {15414#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {15410#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 11) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:33:09,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {15414#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {15414#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:09,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {15421#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 11))} ~i~0 := 2 + ~i~0; {15414#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:09,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {15421#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 11))} assume !!(~i~0 < ~w); {15421#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 11))} is VALID [2022-04-08 10:33:09,590 INFO L290 TraceCheckUtils]: 17: Hoare triple {15428#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {15421#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 11))} is VALID [2022-04-08 10:33:09,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {15428#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {15428#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:33:09,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {15435#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 11))} ~i~0 := 2 + ~i~0; {15428#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:33:09,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {15435#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 11))} assume !!(~i~0 < ~w); {15435#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 11))} is VALID [2022-04-08 10:33:09,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {15442#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {15435#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 11))} is VALID [2022-04-08 10:33:09,591 INFO L290 TraceCheckUtils]: 12: Hoare triple {15442#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {15442#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:33:09,592 INFO L290 TraceCheckUtils]: 11: Hoare triple {15449#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {15442#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:33:09,592 INFO L290 TraceCheckUtils]: 10: Hoare triple {15449#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {15449#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:33:09,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {15456#(or (<= 12 correct_version_~w) (<= |correct_version_#in~w| 11))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {15449#(or (<= |correct_version_#in~w| 11) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:33:09,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {15068#true} ~w := #in~w;~is_divisible~0 := ~true~0; {15456#(or (<= 12 correct_version_~w) (<= |correct_version_#in~w| 11))} is VALID [2022-04-08 10:33:09,593 INFO L272 TraceCheckUtils]: 7: Hoare triple {15068#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {15068#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {15068#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15068#true} is VALID [2022-04-08 10:33:09,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {15068#true} call ULTIMATE.init(); {15068#true} is VALID [2022-04-08 10:33:09,603 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:09,603 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1613917092] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:09,603 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:09,603 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 57 [2022-04-08 10:33:09,603 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:09,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [424300018] [2022-04-08 10:33:09,603 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [424300018] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:09,603 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:09,603 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:33:09,603 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089309621] [2022-04-08 10:33:09,603 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:09,604 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-08 10:33:09,604 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:09,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:09,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:09,640 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:33:09,640 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:09,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:33:09,641 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=509, Invalid=2683, Unknown=0, NotChecked=0, Total=3192 [2022-04-08 10:33:09,641 INFO L87 Difference]: Start difference. First operand 62 states and 65 transitions. Second operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:11,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:11,054 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2022-04-08 10:33:11,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 10:33:11,055 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-08 10:33:11,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:11,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:11,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 84 transitions. [2022-04-08 10:33:11,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:11,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 84 transitions. [2022-04-08 10:33:11,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 84 transitions. [2022-04-08 10:33:11,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:11,127 INFO L225 Difference]: With dead ends: 82 [2022-04-08 10:33:11,127 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 10:33:11,128 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 75 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2317 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=902, Invalid=4950, Unknown=0, NotChecked=0, Total=5852 [2022-04-08 10:33:11,128 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 86 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 502 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:11,128 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 72 Invalid, 502 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:33:11,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 10:33:11,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 65. [2022-04-08 10:33:11,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:11,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:11,404 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:11,404 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:11,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:11,405 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-08 10:33:11,405 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-08 10:33:11,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:11,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:11,405 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:33:11,405 INFO L87 Difference]: Start difference. First operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:33:11,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:11,406 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-08 10:33:11,406 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-08 10:33:11,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:11,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:11,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:11,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:11,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 53 states have (on average 1.0943396226415094) internal successors, (58), 55 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:11,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 69 transitions. [2022-04-08 10:33:11,407 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 69 transitions. Word has length 53 [2022-04-08 10:33:11,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:11,408 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 69 transitions. [2022-04-08 10:33:11,408 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:11,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 69 transitions. [2022-04-08 10:33:11,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:11,494 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2022-04-08 10:33:11,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 10:33:11,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:11,495 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 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] [2022-04-08 10:33:11,513 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-08 10:33:11,703 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-08 10:33:11,703 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:11,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:11,704 INFO L85 PathProgramCache]: Analyzing trace with hash 205839347, now seen corresponding path program 19 times [2022-04-08 10:33:11,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:11,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [152531838] [2022-04-08 10:33:11,706 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:11,706 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:11,706 INFO L85 PathProgramCache]: Analyzing trace with hash 205839347, now seen corresponding path program 20 times [2022-04-08 10:33:11,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:11,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [749930123] [2022-04-08 10:33:11,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:11,707 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:11,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:11,745 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:11,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:11,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {16003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15959#true} is VALID [2022-04-08 10:33:11,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-08 10:33:11,748 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-08 10:33:11,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:11,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:11,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {15959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16004#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:11,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {16004#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,857 INFO L290 TraceCheckUtils]: 3: Hoare triple {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,857 INFO L290 TraceCheckUtils]: 4: Hoare triple {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,860 INFO L290 TraceCheckUtils]: 9: Hoare triple {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,860 INFO L290 TraceCheckUtils]: 10: Hoare triple {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:11,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !(~i~0 < ~w); {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:11,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !(~i~0 != ~w); {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:11,863 INFO L290 TraceCheckUtils]: 16: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} #res := ~is_divisible~0; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:11,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:11,865 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16012#(<= 12 |correct_version_#in~w|)} {15959#true} #87#return; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:11,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:33:11,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:12,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {15959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16013#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:12,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {16013#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:12,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:12,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:12,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:12,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,032 INFO L290 TraceCheckUtils]: 10: Hoare triple {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:12,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:12,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {16020#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {16020#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {16021#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:33:12,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {16021#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {16022#(<= |student_version_#in~w| 11)} #res := ~is_divisible~1; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,036 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16022#(<= |student_version_#in~w| 11)} {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} #89#return; {15960#false} is VALID [2022-04-08 10:33:12,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {15959#true} call ULTIMATE.init(); {16003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:33:12,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {16003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {15959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L272 TraceCheckUtils]: 7: Hoare triple {15959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:12,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {15959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16004#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:12,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {16004#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,038 INFO L290 TraceCheckUtils]: 10: Hoare triple {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {16005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {16006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {16007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {16008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {16009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:12,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {16010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !(~i~0 < ~w); {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:12,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {16011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !(~i~0 != ~w); {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:12,043 INFO L290 TraceCheckUtils]: 24: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} #res := ~is_divisible~0; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:12,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:12,044 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16012#(<= 12 |correct_version_#in~w|)} {15959#true} #87#return; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:12,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:12,045 INFO L272 TraceCheckUtils]: 28: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:12,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {15959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16013#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:12,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {16013#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:12,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:12,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {16014#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,047 INFO L290 TraceCheckUtils]: 34: Hoare triple {16015#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,047 INFO L290 TraceCheckUtils]: 35: Hoare triple {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {16016#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:12,048 INFO L290 TraceCheckUtils]: 37: Hoare triple {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:12,048 INFO L290 TraceCheckUtils]: 38: Hoare triple {16017#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,049 INFO L290 TraceCheckUtils]: 39: Hoare triple {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {16018#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:12,049 INFO L290 TraceCheckUtils]: 41: Hoare triple {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:12,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {16019#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {16020#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:12,050 INFO L290 TraceCheckUtils]: 43: Hoare triple {16020#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {16021#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:33:12,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {16021#(and (or (<= student_version_~i~1 12) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {16022#(<= |student_version_#in~w| 11)} #res := ~is_divisible~1; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,051 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:12,052 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16022#(<= |student_version_#in~w| 11)} {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} #89#return; {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {15960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L272 TraceCheckUtils]: 49: Hoare triple {15960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-08 10:33:12,052 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:12,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:12,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [749930123] [2022-04-08 10:33:12,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [749930123] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:12,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [945635815] [2022-04-08 10:33:12,053 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:33:12,053 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:12,053 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:12,054 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:33:12,055 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 10:33:12,111 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:33:12,111 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:12,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 10:33:12,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:12,124 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:13,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {15959#true} call ULTIMATE.init(); {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {15959#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {15959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-08 10:33:13,107 INFO L272 TraceCheckUtils]: 7: Hoare triple {15959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:13,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {15959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16050#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:33:13,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {16050#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16054#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,108 INFO L290 TraceCheckUtils]: 10: Hoare triple {16054#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {16054#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {16054#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16061#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {16061#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {16061#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {16061#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16068#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,110 INFO L290 TraceCheckUtils]: 14: Hoare triple {16068#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {16068#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {16068#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16075#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:13,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {16075#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16075#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:13,111 INFO L290 TraceCheckUtils]: 17: Hoare triple {16075#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16082#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {16082#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {16082#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {16082#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {16089#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:13,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {16089#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16089#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:13,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {16089#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16096#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {16096#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !(~i~0 < ~w); {16096#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:13,114 INFO L290 TraceCheckUtils]: 23: Hoare triple {16096#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !(~i~0 != ~w); {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:13,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} #res := ~is_divisible~0; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:13,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:13,115 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16012#(<= 12 |correct_version_#in~w|)} {15959#true} #87#return; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:13,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:13,116 INFO L272 TraceCheckUtils]: 28: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:13,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {15959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16121#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:13,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {16121#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16125#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:13,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {16125#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {16125#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:13,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {16125#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {16132#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:13,117 INFO L290 TraceCheckUtils]: 33: Hoare triple {16132#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {16132#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:13,118 INFO L290 TraceCheckUtils]: 34: Hoare triple {16132#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {16139#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:13,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {16139#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {16139#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:13,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {16139#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {16146#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:13,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {16146#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {16146#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:13,119 INFO L290 TraceCheckUtils]: 38: Hoare triple {16146#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {16153#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:13,120 INFO L290 TraceCheckUtils]: 39: Hoare triple {16153#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {16153#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:13,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {16153#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {16160#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:13,121 INFO L290 TraceCheckUtils]: 41: Hoare triple {16160#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {16160#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:13,121 INFO L290 TraceCheckUtils]: 42: Hoare triple {16160#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {16167#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:33:13,121 INFO L290 TraceCheckUtils]: 43: Hoare triple {16167#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !(~i~1 < ~w); {16171#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:33:13,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {16171#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 12))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:13,122 INFO L290 TraceCheckUtils]: 45: Hoare triple {16022#(<= |student_version_#in~w| 11)} #res := ~is_divisible~1; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:13,122 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:13,123 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16022#(<= |student_version_#in~w| 11)} {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} #89#return; {15960#false} is VALID [2022-04-08 10:33:13,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {15960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15960#false} is VALID [2022-04-08 10:33:13,123 INFO L272 TraceCheckUtils]: 49: Hoare triple {15960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15960#false} is VALID [2022-04-08 10:33:13,123 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-08 10:33:13,123 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-08 10:33:13,123 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-08 10:33:13,124 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:13,124 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:21,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-08 10:33:21,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-08 10:33:21,290 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-08 10:33:21,291 INFO L272 TraceCheckUtils]: 49: Hoare triple {15960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {15960#false} is VALID [2022-04-08 10:33:21,291 INFO L290 TraceCheckUtils]: 48: Hoare triple {15960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {15960#false} is VALID [2022-04-08 10:33:21,291 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16022#(<= |student_version_#in~w| 11)} {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} #89#return; {15960#false} is VALID [2022-04-08 10:33:21,292 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:21,292 INFO L290 TraceCheckUtils]: 45: Hoare triple {16022#(<= |student_version_#in~w| 11)} #res := ~is_divisible~1; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:21,292 INFO L290 TraceCheckUtils]: 44: Hoare triple {16226#(or (<= |student_version_#in~w| 11) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-08 10:33:21,293 INFO L290 TraceCheckUtils]: 43: Hoare triple {16230#(or (<= |student_version_#in~w| 11) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {16226#(or (<= |student_version_#in~w| 11) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:33:21,293 INFO L290 TraceCheckUtils]: 42: Hoare triple {16234#(or (<= |student_version_#in~w| 11) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {16230#(or (<= |student_version_#in~w| 11) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:33:21,293 INFO L290 TraceCheckUtils]: 41: Hoare triple {16234#(or (<= |student_version_#in~w| 11) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {16234#(or (<= |student_version_#in~w| 11) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:21,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {16241#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {16234#(or (<= |student_version_#in~w| 11) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:21,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {16241#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {16241#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:33:21,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {16248#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 11))} ~i~1 := 2 + ~i~1; {16241#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:33:21,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {16248#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 11))} assume !!(~i~1 < ~w); {16248#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 11))} is VALID [2022-04-08 10:33:21,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {16255#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {16248#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 11))} is VALID [2022-04-08 10:33:21,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {16255#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {16255#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:33:21,296 INFO L290 TraceCheckUtils]: 34: Hoare triple {16262#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {16255#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:33:21,297 INFO L290 TraceCheckUtils]: 33: Hoare triple {16262#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {16262#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:33:21,297 INFO L290 TraceCheckUtils]: 32: Hoare triple {16269#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {16262#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:33:21,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {16269#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {16269#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:33:21,298 INFO L290 TraceCheckUtils]: 30: Hoare triple {16276#(or (<= |student_version_#in~w| 11) (<= 12 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16269#(or (<= |student_version_#in~w| 11) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:33:21,298 INFO L290 TraceCheckUtils]: 29: Hoare triple {15959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16276#(or (<= |student_version_#in~w| 11) (<= 12 student_version_~w))} is VALID [2022-04-08 10:33:21,298 INFO L272 TraceCheckUtils]: 28: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:21,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:21,300 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16012#(<= 12 |correct_version_#in~w|)} {15959#true} #87#return; {15983#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 12) main_~w~0))} is VALID [2022-04-08 10:33:21,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:21,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} #res := ~is_divisible~0; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:21,300 INFO L290 TraceCheckUtils]: 23: Hoare triple {16298#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 12 |correct_version_#in~w|))} assume !(~i~0 != ~w); {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:21,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {16298#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 12 |correct_version_#in~w|))} assume !(~i~0 < ~w); {16298#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {16305#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 12 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16298#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {16305#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 12 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16305#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {16312#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 12 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16305#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {16312#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 12 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16312#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {16319#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 12 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16312#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {16319#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 12 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16319#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {16326#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 12 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16319#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {16326#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 12 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16326#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {16333#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 12 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {16326#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {16333#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 12 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {16333#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {16340#(or (<= 12 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {16333#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,305 INFO L290 TraceCheckUtils]: 10: Hoare triple {16340#(or (<= 12 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {16340#(or (<= 12 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:33:21,306 INFO L290 TraceCheckUtils]: 9: Hoare triple {16347#(or (< correct_version_~w 12) (<= 12 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16340#(or (<= 12 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:33:21,306 INFO L290 TraceCheckUtils]: 8: Hoare triple {15959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16347#(or (< correct_version_~w 12) (<= 12 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:21,306 INFO L272 TraceCheckUtils]: 7: Hoare triple {15959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {15959#true} is VALID [2022-04-08 10:33:21,306 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-08 10:33:21,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {15959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {15959#true} is VALID [2022-04-08 10:33:21,306 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-08 10:33:21,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-08 10:33:21,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-08 10:33:21,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {15959#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {15959#true} is VALID [2022-04-08 10:33:21,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {15959#true} call ULTIMATE.init(); {15959#true} is VALID [2022-04-08 10:33:21,307 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 36 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:21,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [945635815] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:21,307 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:21,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 57 [2022-04-08 10:33:21,307 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:21,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [152531838] [2022-04-08 10:33:21,308 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [152531838] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:21,308 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:21,308 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 10:33:21,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1586908441] [2022-04-08 10:33:21,308 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:21,308 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-08 10:33:21,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:21,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:21,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:21,343 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 10:33:21,343 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:21,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 10:33:21,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=509, Invalid=2683, Unknown=0, NotChecked=0, Total=3192 [2022-04-08 10:33:21,344 INFO L87 Difference]: Start difference. First operand 65 states and 69 transitions. Second operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:22,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:22,752 INFO L93 Difference]: Finished difference Result 77 states and 82 transitions. [2022-04-08 10:33:22,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-08 10:33:22,752 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 53 [2022-04-08 10:33:22,753 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:22,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:22,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 77 transitions. [2022-04-08 10:33:22,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:22,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 77 transitions. [2022-04-08 10:33:22,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 77 transitions. [2022-04-08 10:33:22,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:22,820 INFO L225 Difference]: With dead ends: 77 [2022-04-08 10:33:22,820 INFO L226 Difference]: Without dead ends: 68 [2022-04-08 10:33:22,821 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 75 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2324 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=902, Invalid=4950, Unknown=0, NotChecked=0, Total=5852 [2022-04-08 10:33:22,821 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 79 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 480 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 509 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 480 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:22,821 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [80 Valid, 75 Invalid, 509 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 480 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:33:22,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-08 10:33:23,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2022-04-08 10:33:23,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:23,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:23,137 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:23,137 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:23,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:23,138 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 10:33:23,138 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-08 10:33:23,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:23,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:23,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 68 states. [2022-04-08 10:33:23,138 INFO L87 Difference]: Start difference. First operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 68 states. [2022-04-08 10:33:23,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:23,139 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 10:33:23,139 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-08 10:33:23,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:23,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:23,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:23,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:23,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 56 states have (on average 1.1071428571428572) internal successors, (62), 58 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:23,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2022-04-08 10:33:23,141 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 53 [2022-04-08 10:33:23,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:23,141 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2022-04-08 10:33:23,141 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:23,141 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 73 transitions. [2022-04-08 10:33:23,272 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-08 10:33:23,273 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-08 10:33:23,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 10:33:23,273 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:23,273 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 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] [2022-04-08 10:33:23,296 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 10:33:23,473 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-08 10:33:23,474 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:23,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:23,474 INFO L85 PathProgramCache]: Analyzing trace with hash -1484104203, now seen corresponding path program 21 times [2022-04-08 10:33:23,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:23,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1061274196] [2022-04-08 10:33:23,477 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:23,477 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:23,477 INFO L85 PathProgramCache]: Analyzing trace with hash -1484104203, now seen corresponding path program 22 times [2022-04-08 10:33:23,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:23,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112910018] [2022-04-08 10:33:23,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:23,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:23,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:23,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:23,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:23,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {16886#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {16840#true} is VALID [2022-04-08 10:33:23,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-08 10:33:23,528 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-08 10:33:23,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:23,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:23,654 INFO L290 TraceCheckUtils]: 0: Hoare triple {16840#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16887#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:23,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {16887#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,656 INFO L290 TraceCheckUtils]: 3: Hoare triple {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,656 INFO L290 TraceCheckUtils]: 4: Hoare triple {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,657 INFO L290 TraceCheckUtils]: 5: Hoare triple {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,657 INFO L290 TraceCheckUtils]: 6: Hoare triple {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:23,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:23,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,661 INFO L290 TraceCheckUtils]: 13: Hoare triple {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16894#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {16894#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {16895#(and (<= correct_version_~w 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {16895#(and (<= correct_version_~w 12) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {16896#(<= |correct_version_#in~w| 12)} #res := ~is_divisible~0; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,662 INFO L290 TraceCheckUtils]: 17: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,663 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16896#(<= |correct_version_#in~w| 12)} {16840#true} #87#return; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:23,663 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 10:33:23,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:23,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {16840#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16897#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:23,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {16897#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:23,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:23,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:23,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:23,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:23,817 INFO L290 TraceCheckUtils]: 10: Hoare triple {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:23,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,818 INFO L290 TraceCheckUtils]: 12: Hoare triple {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16904#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:23,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {16904#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {16906#(<= 13 |student_version_#in~w|)} #res := ~is_divisible~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,821 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {16906#(<= 13 |student_version_#in~w|)} {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {16841#false} is VALID [2022-04-08 10:33:23,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {16840#true} call ULTIMATE.init(); {16886#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:33:23,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {16886#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {16840#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L272 TraceCheckUtils]: 7: Hoare triple {16840#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:23,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {16840#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16887#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:23,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {16887#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,823 INFO L290 TraceCheckUtils]: 10: Hoare triple {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {16888#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {16889#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {16890#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,825 INFO L290 TraceCheckUtils]: 16: Hoare triple {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {16891#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:23,826 INFO L290 TraceCheckUtils]: 18: Hoare triple {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:23,826 INFO L290 TraceCheckUtils]: 19: Hoare triple {16892#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,827 INFO L290 TraceCheckUtils]: 21: Hoare triple {16893#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {16894#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {16894#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {16895#(and (<= correct_version_~w 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:23,828 INFO L290 TraceCheckUtils]: 23: Hoare triple {16895#(and (<= correct_version_~w 12) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,828 INFO L290 TraceCheckUtils]: 24: Hoare triple {16896#(<= |correct_version_#in~w| 12)} #res := ~is_divisible~0; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,828 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:23,829 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16896#(<= |correct_version_#in~w| 12)} {16840#true} #87#return; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:23,830 INFO L290 TraceCheckUtils]: 27: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:23,830 INFO L272 TraceCheckUtils]: 28: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:23,830 INFO L290 TraceCheckUtils]: 29: Hoare triple {16840#true} ~w := #in~w;~is_divisible~1 := ~true~0; {16897#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:23,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {16897#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,831 INFO L290 TraceCheckUtils]: 32: Hoare triple {16898#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,831 INFO L290 TraceCheckUtils]: 33: Hoare triple {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {16899#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:23,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:23,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {16900#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:23,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:23,833 INFO L290 TraceCheckUtils]: 38: Hoare triple {16901#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:23,834 INFO L290 TraceCheckUtils]: 39: Hoare triple {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:23,834 INFO L290 TraceCheckUtils]: 40: Hoare triple {16902#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,835 INFO L290 TraceCheckUtils]: 42: Hoare triple {16903#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16904#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:23,835 INFO L290 TraceCheckUtils]: 43: Hoare triple {16904#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:23,836 INFO L290 TraceCheckUtils]: 46: Hoare triple {16905#(and (<= 13 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,837 INFO L290 TraceCheckUtils]: 47: Hoare triple {16906#(<= 13 |student_version_#in~w|)} #res := ~is_divisible~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,837 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:23,838 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {16906#(<= 13 |student_version_#in~w|)} {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L290 TraceCheckUtils]: 50: Hoare triple {16841#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L272 TraceCheckUtils]: 51: Hoare triple {16841#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-08 10:33:23,838 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:23,838 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:23,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112910018] [2022-04-08 10:33:23,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1112910018] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:23,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [468555895] [2022-04-08 10:33:23,839 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:33:23,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:23,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:23,840 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:33:23,840 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-08 10:33:23,895 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:33:23,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:23,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:33:23,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:23,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:24,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {16840#true} call ULTIMATE.init(); {16840#true} is VALID [2022-04-08 10:33:24,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {16840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {16840#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L272 TraceCheckUtils]: 7: Hoare triple {16840#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:24,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {16840#true} ~w := #in~w;~is_divisible~0 := ~true~0; {16934#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:24,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {16934#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {16938#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:33:24,647 INFO L290 TraceCheckUtils]: 10: Hoare triple {16938#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {16938#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:33:24,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {16938#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {16945#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:33:24,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {16945#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {16945#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:33:24,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {16945#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {16952#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:33:24,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {16952#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:33:24,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {16952#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {16959#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:33:24,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {16959#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {16959#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:33:24,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {16959#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {16966#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:24,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {16966#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {16966#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:24,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {16966#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {16973#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:33:24,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {16973#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {16973#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:33:24,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {16973#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {16980#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:33:24,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {16980#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !(~i~0 < ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:24,653 INFO L290 TraceCheckUtils]: 23: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume !(~i~0 != ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:24,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {16896#(<= |correct_version_#in~w| 12)} #res := ~is_divisible~0; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:24,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:24,655 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16896#(<= |correct_version_#in~w| 12)} {16840#true} #87#return; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:24,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:24,656 INFO L272 TraceCheckUtils]: 28: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:24,656 INFO L290 TraceCheckUtils]: 29: Hoare triple {16840#true} ~w := #in~w;~is_divisible~1 := ~true~0; {17005#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,657 INFO L290 TraceCheckUtils]: 30: Hoare triple {17005#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {17009#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,657 INFO L290 TraceCheckUtils]: 31: Hoare triple {17009#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {17009#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {17009#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17016#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,658 INFO L290 TraceCheckUtils]: 33: Hoare triple {17016#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {17016#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,658 INFO L290 TraceCheckUtils]: 34: Hoare triple {17016#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17023#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:24,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {17023#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {17023#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:24,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {17023#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {17030#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,660 INFO L290 TraceCheckUtils]: 37: Hoare triple {17030#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {17030#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {17030#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17037#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {17037#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {17037#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {17037#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17044#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,662 INFO L290 TraceCheckUtils]: 41: Hoare triple {17044#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {17044#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,662 INFO L290 TraceCheckUtils]: 42: Hoare triple {17044#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17051#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:24,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {17051#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,663 INFO L290 TraceCheckUtils]: 44: Hoare triple {16906#(<= 13 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,663 INFO L290 TraceCheckUtils]: 45: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume !(~i~1 < ~w); {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,664 INFO L290 TraceCheckUtils]: 46: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,664 INFO L290 TraceCheckUtils]: 47: Hoare triple {16906#(<= 13 |student_version_#in~w|)} #res := ~is_divisible~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,664 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:24,665 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {16906#(<= 13 |student_version_#in~w|)} {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L290 TraceCheckUtils]: 50: Hoare triple {16841#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L272 TraceCheckUtils]: 51: Hoare triple {16841#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-08 10:33:24,666 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:24,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:28,265 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-08 10:33:28,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-08 10:33:28,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-08 10:33:28,265 INFO L272 TraceCheckUtils]: 51: Hoare triple {16841#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {16841#false} is VALID [2022-04-08 10:33:28,265 INFO L290 TraceCheckUtils]: 50: Hoare triple {16841#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {16841#false} is VALID [2022-04-08 10:33:28,266 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {16906#(<= 13 |student_version_#in~w|)} {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {16841#false} is VALID [2022-04-08 10:33:28,266 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,267 INFO L290 TraceCheckUtils]: 47: Hoare triple {16906#(<= 13 |student_version_#in~w|)} #res := ~is_divisible~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,267 INFO L290 TraceCheckUtils]: 46: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,267 INFO L290 TraceCheckUtils]: 45: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume !(~i~1 < ~w); {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,268 INFO L290 TraceCheckUtils]: 44: Hoare triple {16906#(<= 13 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,268 INFO L290 TraceCheckUtils]: 43: Hoare triple {17124#(or (not (< student_version_~i~1 student_version_~w)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-08 10:33:28,268 INFO L290 TraceCheckUtils]: 42: Hoare triple {17128#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 13 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17124#(or (not (< student_version_~i~1 student_version_~w)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,269 INFO L290 TraceCheckUtils]: 41: Hoare triple {17128#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {17128#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,269 INFO L290 TraceCheckUtils]: 40: Hoare triple {17135#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 13 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17128#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,270 INFO L290 TraceCheckUtils]: 39: Hoare triple {17135#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {17135#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,270 INFO L290 TraceCheckUtils]: 38: Hoare triple {17142#(or (<= 13 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {17135#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {17142#(or (<= 13 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {17142#(or (<= 13 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:33:28,271 INFO L290 TraceCheckUtils]: 36: Hoare triple {17149#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 13 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17142#(or (<= 13 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:33:28,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {17149#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {17149#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,272 INFO L290 TraceCheckUtils]: 34: Hoare triple {17156#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 13 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17149#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,272 INFO L290 TraceCheckUtils]: 33: Hoare triple {17156#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {17156#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,272 INFO L290 TraceCheckUtils]: 32: Hoare triple {17163#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 13 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {17156#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {17163#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 13 |student_version_#in~w|))} assume !!(~i~1 < ~w); {17163#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,273 INFO L290 TraceCheckUtils]: 30: Hoare triple {17170#(or (<= student_version_~w 12) (<= 13 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {17163#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {16840#true} ~w := #in~w;~is_divisible~1 := ~true~0; {17170#(or (<= student_version_~w 12) (<= 13 |student_version_#in~w|))} is VALID [2022-04-08 10:33:28,274 INFO L272 TraceCheckUtils]: 28: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:28,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:28,275 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16896#(<= |correct_version_#in~w| 12)} {16840#true} #87#return; {16864#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 12)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:33:28,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:28,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {16896#(<= |correct_version_#in~w| 12)} #res := ~is_divisible~0; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:28,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume !(~i~0 != ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:28,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {17195#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 12))} assume !(~i~0 < ~w); {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-08 10:33:28,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {17199#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {17195#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {17199#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {17199#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:28,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {17206#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {17199#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:28,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {17206#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {17206#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:33:28,278 INFO L290 TraceCheckUtils]: 17: Hoare triple {17213#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 12))} ~i~0 := 2 + ~i~0; {17206#(or (<= |correct_version_#in~w| 12) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:33:28,278 INFO L290 TraceCheckUtils]: 16: Hoare triple {17213#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 12))} assume !!(~i~0 < ~w); {17213#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {17220#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 12))} ~i~0 := 2 + ~i~0; {17213#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,279 INFO L290 TraceCheckUtils]: 14: Hoare triple {17220#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 12))} assume !!(~i~0 < ~w); {17220#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {17227#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 12))} ~i~0 := 2 + ~i~0; {17220#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {17227#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 12))} assume !!(~i~0 < ~w); {17227#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {17234#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 12))} ~i~0 := 2 + ~i~0; {17227#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {17234#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 12))} assume !!(~i~0 < ~w); {17234#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {17241#(or (< 12 correct_version_~w) (<= |correct_version_#in~w| 12))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {17234#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {16840#true} ~w := #in~w;~is_divisible~0 := ~true~0; {17241#(or (< 12 correct_version_~w) (<= |correct_version_#in~w| 12))} is VALID [2022-04-08 10:33:28,281 INFO L272 TraceCheckUtils]: 7: Hoare triple {16840#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {16840#true} is VALID [2022-04-08 10:33:28,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-08 10:33:28,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {16840#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {16840#true} is VALID [2022-04-08 10:33:28,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-08 10:33:28,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-08 10:33:28,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-08 10:33:28,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {16840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {16840#true} is VALID [2022-04-08 10:33:28,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {16840#true} call ULTIMATE.init(); {16840#true} is VALID [2022-04-08 10:33:28,282 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 49 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:28,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [468555895] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:28,282 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:28,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 21, 21] total 56 [2022-04-08 10:33:28,282 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:28,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1061274196] [2022-04-08 10:33:28,283 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1061274196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:28,283 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:28,283 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-08 10:33:28,283 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2093367624] [2022-04-08 10:33:28,283 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:28,283 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 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 55 [2022-04-08 10:33:28,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:28,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:28,318 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-08 10:33:28,318 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-08 10:33:28,318 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:28,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-08 10:33:28,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=517, Invalid=2563, Unknown=0, NotChecked=0, Total=3080 [2022-04-08 10:33:28,319 INFO L87 Difference]: Start difference. First operand 68 states and 73 transitions. Second operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:29,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:29,576 INFO L93 Difference]: Finished difference Result 83 states and 88 transitions. [2022-04-08 10:33:29,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:33:29,576 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 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 55 [2022-04-08 10:33:29,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:29,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:29,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-08 10:33:29,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:29,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-08 10:33:29,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 80 transitions. [2022-04-08 10:33:29,641 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:29,642 INFO L225 Difference]: With dead ends: 83 [2022-04-08 10:33:29,642 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 10:33:29,643 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 77 SyntacticMatches, 5 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2286 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=897, Invalid=4653, Unknown=0, NotChecked=0, Total=5550 [2022-04-08 10:33:29,644 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 87 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 380 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 405 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 380 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:29,644 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 62 Invalid, 405 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 380 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:33:29,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 10:33:29,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 67. [2022-04-08 10:33:29,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:29,970 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:29,970 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:29,970 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:29,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:29,971 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2022-04-08 10:33:29,971 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-08 10:33:29,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:29,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:29,972 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:33:29,972 INFO L87 Difference]: Start difference. First operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:33:29,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:29,973 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2022-04-08 10:33:29,973 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-08 10:33:29,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:29,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:29,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:29,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:29,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 55 states have (on average 1.0909090909090908) internal successors, (60), 57 states have internal predecessors, (60), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:29,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 71 transitions. [2022-04-08 10:33:29,974 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 71 transitions. Word has length 55 [2022-04-08 10:33:29,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:29,974 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 71 transitions. [2022-04-08 10:33:29,974 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:29,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 71 transitions. [2022-04-08 10:33:30,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:30,071 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-08 10:33:30,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 10:33:30,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:30,071 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 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] [2022-04-08 10:33:30,089 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 10:33:30,272 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable26,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:30,272 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:30,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:30,273 INFO L85 PathProgramCache]: Analyzing trace with hash -1172735403, now seen corresponding path program 21 times [2022-04-08 10:33:30,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:30,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [884073545] [2022-04-08 10:33:30,277 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:30,277 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:30,277 INFO L85 PathProgramCache]: Analyzing trace with hash -1172735403, now seen corresponding path program 22 times [2022-04-08 10:33:30,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:30,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [320739588] [2022-04-08 10:33:30,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:30,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:30,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:30,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,325 INFO L290 TraceCheckUtils]: 0: Hoare triple {17794#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {17748#true} is VALID [2022-04-08 10:33:30,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-08 10:33:30,325 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-08 10:33:30,325 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:30,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {17748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {17795#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:30,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {17795#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,431 INFO L290 TraceCheckUtils]: 3: Hoare triple {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,431 INFO L290 TraceCheckUtils]: 4: Hoare triple {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,434 INFO L290 TraceCheckUtils]: 10: Hoare triple {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,435 INFO L290 TraceCheckUtils]: 12: Hoare triple {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17802#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {17802#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,436 INFO L290 TraceCheckUtils]: 16: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,436 INFO L290 TraceCheckUtils]: 17: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,437 INFO L290 TraceCheckUtils]: 18: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} #res := ~is_divisible~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,437 INFO L290 TraceCheckUtils]: 19: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,438 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {17804#(<= 13 |correct_version_#in~w|)} {17748#true} #87#return; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:30,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-08 10:33:30,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,580 INFO L290 TraceCheckUtils]: 0: Hoare triple {17748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {17805#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:30,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {17805#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:30,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:30,582 INFO L290 TraceCheckUtils]: 3: Hoare triple {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,582 INFO L290 TraceCheckUtils]: 4: Hoare triple {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,583 INFO L290 TraceCheckUtils]: 6: Hoare triple {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:30,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:30,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,584 INFO L290 TraceCheckUtils]: 10: Hoare triple {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:30,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:30,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {17812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {17812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {17813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 12))} is VALID [2022-04-08 10:33:30,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {17813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 12))} assume !(~i~1 != ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {17814#(<= |student_version_#in~w| 12)} #res := ~is_divisible~1; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,587 INFO L290 TraceCheckUtils]: 17: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,587 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {17814#(<= |student_version_#in~w| 12)} {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} #89#return; {17749#false} is VALID [2022-04-08 10:33:30,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {17748#true} call ULTIMATE.init(); {17794#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:33:30,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {17794#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {17748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-08 10:33:30,588 INFO L272 TraceCheckUtils]: 7: Hoare triple {17748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:30,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {17748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {17795#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:30,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {17795#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,589 INFO L290 TraceCheckUtils]: 10: Hoare triple {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {17796#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {17797#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,591 INFO L290 TraceCheckUtils]: 15: Hoare triple {17798#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,592 INFO L290 TraceCheckUtils]: 16: Hoare triple {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {17799#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,593 INFO L290 TraceCheckUtils]: 19: Hoare triple {17800#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {17801#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17802#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:30,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {17802#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:30,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {17803#(and (<= 13 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,595 INFO L290 TraceCheckUtils]: 26: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} #res := ~is_divisible~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:30,596 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17804#(<= 13 |correct_version_#in~w|)} {17748#true} #87#return; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:30,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:30,597 INFO L272 TraceCheckUtils]: 30: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:30,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {17748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {17805#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:30,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {17805#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:30,598 INFO L290 TraceCheckUtils]: 33: Hoare triple {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:30,598 INFO L290 TraceCheckUtils]: 34: Hoare triple {17806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,599 INFO L290 TraceCheckUtils]: 35: Hoare triple {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,599 INFO L290 TraceCheckUtils]: 36: Hoare triple {17807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,599 INFO L290 TraceCheckUtils]: 37: Hoare triple {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {17808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:30,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:30,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {17809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,601 INFO L290 TraceCheckUtils]: 41: Hoare triple {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,601 INFO L290 TraceCheckUtils]: 42: Hoare triple {17810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:30,602 INFO L290 TraceCheckUtils]: 43: Hoare triple {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:30,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {17811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {17812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:30,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {17812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {17813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 12))} is VALID [2022-04-08 10:33:30,603 INFO L290 TraceCheckUtils]: 46: Hoare triple {17813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 12))} assume !(~i~1 != ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {17814#(<= |student_version_#in~w| 12)} #res := ~is_divisible~1; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,603 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:30,604 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {17814#(<= |student_version_#in~w| 12)} {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} #89#return; {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L290 TraceCheckUtils]: 50: Hoare triple {17749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L272 TraceCheckUtils]: 51: Hoare triple {17749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-08 10:33:30,604 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:30,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:30,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [320739588] [2022-04-08 10:33:30,605 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [320739588] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:30,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1844375215] [2022-04-08 10:33:30,605 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:33:30,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:30,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:30,606 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:33:30,606 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-08 10:33:30,664 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:33:30,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:30,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-08 10:33:30,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:30,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:31,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {17748#true} call ULTIMATE.init(); {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {17748#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {17748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L272 TraceCheckUtils]: 7: Hoare triple {17748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:31,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {17748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {17842#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {17842#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {17846#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,602 INFO L290 TraceCheckUtils]: 10: Hoare triple {17846#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {17846#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {17846#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17853#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,603 INFO L290 TraceCheckUtils]: 12: Hoare triple {17853#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {17853#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,603 INFO L290 TraceCheckUtils]: 13: Hoare triple {17853#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17860#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {17860#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {17860#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {17860#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17867#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:31,604 INFO L290 TraceCheckUtils]: 16: Hoare triple {17867#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {17867#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:31,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {17867#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {17874#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,605 INFO L290 TraceCheckUtils]: 18: Hoare triple {17874#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {17874#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {17874#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {17881#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:31,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {17881#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {17881#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:31,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {17881#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {17888#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:31,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {17888#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume !(~i~0 < ~w); {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} #res := ~is_divisible~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:31,609 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17804#(<= 13 |correct_version_#in~w|)} {17748#true} #87#return; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:31,610 INFO L290 TraceCheckUtils]: 29: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:31,610 INFO L272 TraceCheckUtils]: 30: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:31,610 INFO L290 TraceCheckUtils]: 31: Hoare triple {17748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {17919#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:31,610 INFO L290 TraceCheckUtils]: 32: Hoare triple {17919#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {17923#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:31,611 INFO L290 TraceCheckUtils]: 33: Hoare triple {17923#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {17923#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:31,611 INFO L290 TraceCheckUtils]: 34: Hoare triple {17923#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {17930#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:31,611 INFO L290 TraceCheckUtils]: 35: Hoare triple {17930#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {17930#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:31,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {17930#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {17937#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:31,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {17937#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {17937#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:31,613 INFO L290 TraceCheckUtils]: 38: Hoare triple {17937#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {17944#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:31,613 INFO L290 TraceCheckUtils]: 39: Hoare triple {17944#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {17944#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:31,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {17944#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {17951#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:31,614 INFO L290 TraceCheckUtils]: 41: Hoare triple {17951#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {17951#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:31,614 INFO L290 TraceCheckUtils]: 42: Hoare triple {17951#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {17958#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:31,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {17958#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {17958#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:31,615 INFO L290 TraceCheckUtils]: 44: Hoare triple {17958#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {17965#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:33:31,615 INFO L290 TraceCheckUtils]: 45: Hoare triple {17965#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !(~i~1 < ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:31,616 INFO L290 TraceCheckUtils]: 46: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume !(~i~1 != ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:31,616 INFO L290 TraceCheckUtils]: 47: Hoare triple {17814#(<= |student_version_#in~w| 12)} #res := ~is_divisible~1; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:31,616 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:31,617 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {17814#(<= |student_version_#in~w| 12)} {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} #89#return; {17749#false} is VALID [2022-04-08 10:33:31,617 INFO L290 TraceCheckUtils]: 50: Hoare triple {17749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {17749#false} is VALID [2022-04-08 10:33:31,617 INFO L272 TraceCheckUtils]: 51: Hoare triple {17749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {17749#false} is VALID [2022-04-08 10:33:31,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-08 10:33:31,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-08 10:33:31,617 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-08 10:33:31,618 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:31,618 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:35,118 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-08 10:33:35,118 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-08 10:33:35,118 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-08 10:33:35,119 INFO L272 TraceCheckUtils]: 51: Hoare triple {17749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {17749#false} is VALID [2022-04-08 10:33:35,119 INFO L290 TraceCheckUtils]: 50: Hoare triple {17749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {17749#false} is VALID [2022-04-08 10:33:35,119 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {17814#(<= |student_version_#in~w| 12)} {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} #89#return; {17749#false} is VALID [2022-04-08 10:33:35,120 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:35,120 INFO L290 TraceCheckUtils]: 47: Hoare triple {17814#(<= |student_version_#in~w| 12)} #res := ~is_divisible~1; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:35,120 INFO L290 TraceCheckUtils]: 46: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume !(~i~1 != ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:35,121 INFO L290 TraceCheckUtils]: 45: Hoare triple {18026#(or (<= |student_version_#in~w| 12) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-08 10:33:35,121 INFO L290 TraceCheckUtils]: 44: Hoare triple {18030#(or (<= |student_version_#in~w| 12) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {18026#(or (<= |student_version_#in~w| 12) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:33:35,121 INFO L290 TraceCheckUtils]: 43: Hoare triple {18030#(or (<= |student_version_#in~w| 12) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {18030#(or (<= |student_version_#in~w| 12) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:35,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {18037#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {18030#(or (<= |student_version_#in~w| 12) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:35,122 INFO L290 TraceCheckUtils]: 41: Hoare triple {18037#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {18037#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:33:35,122 INFO L290 TraceCheckUtils]: 40: Hoare triple {18044#(or (<= |student_version_#in~w| 12) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {18037#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:33:35,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {18044#(or (<= |student_version_#in~w| 12) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {18044#(or (<= |student_version_#in~w| 12) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:35,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {18051#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 12))} ~i~1 := 2 + ~i~1; {18044#(or (<= |student_version_#in~w| 12) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:33:35,124 INFO L290 TraceCheckUtils]: 37: Hoare triple {18051#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 12))} assume !!(~i~1 < ~w); {18051#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 12))} is VALID [2022-04-08 10:33:35,124 INFO L290 TraceCheckUtils]: 36: Hoare triple {18058#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 12))} ~i~1 := 2 + ~i~1; {18051#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 12))} is VALID [2022-04-08 10:33:35,124 INFO L290 TraceCheckUtils]: 35: Hoare triple {18058#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 12))} assume !!(~i~1 < ~w); {18058#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 12))} is VALID [2022-04-08 10:33:35,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {18065#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {18058#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 12))} is VALID [2022-04-08 10:33:35,125 INFO L290 TraceCheckUtils]: 33: Hoare triple {18065#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {18065#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:33:35,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {18072#(or (< 12 student_version_~w) (<= |student_version_#in~w| 12))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {18065#(or (<= |student_version_#in~w| 12) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:33:35,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {17748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {18072#(or (< 12 student_version_~w) (<= |student_version_#in~w| 12))} is VALID [2022-04-08 10:33:35,126 INFO L272 TraceCheckUtils]: 30: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:35,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:35,127 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17804#(<= 13 |correct_version_#in~w|)} {17748#true} #87#return; {17774#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 13) main_~w~0))} is VALID [2022-04-08 10:33:35,127 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} #res := ~is_divisible~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,128 INFO L290 TraceCheckUtils]: 24: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume !(~i~0 < ~w); {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {18103#(or (<= 13 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} assume !!(~i~0 < ~w); {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:35,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {18107#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} ~i~0 := 2 + ~i~0; {18103#(or (<= 13 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:33:35,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {18107#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} assume !!(~i~0 < ~w); {18107#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:33:35,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {18114#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 13 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {18107#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:33:35,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {18114#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 13 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {18114#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 13 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:35,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {18121#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {18114#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 13 |correct_version_#in~w|))} is VALID [2022-04-08 10:33:35,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {18121#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {18121#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:33:35,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {18128#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} ~i~0 := 2 + ~i~0; {18121#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:33:35,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {18128#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} assume !!(~i~0 < ~w); {18128#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:33:35,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {18135#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {18128#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:33:35,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {18135#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {18135#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:33:35,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {18142#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {18135#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:33:35,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {18142#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {18142#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:33:35,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {18149#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w 12))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {18142#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:33:35,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {17748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {18149#(or (<= 13 |correct_version_#in~w|) (<= correct_version_~w 12))} is VALID [2022-04-08 10:33:35,135 INFO L272 TraceCheckUtils]: 7: Hoare triple {17748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {17748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {17748#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {17748#true} call ULTIMATE.init(); {17748#true} is VALID [2022-04-08 10:33:35,135 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 49 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:35,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1844375215] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:35,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:35,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 21, 21] total 56 [2022-04-08 10:33:35,136 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:35,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [884073545] [2022-04-08 10:33:35,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [884073545] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:35,136 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:35,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-08 10:33:35,136 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1486103061] [2022-04-08 10:33:35,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:35,136 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 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 55 [2022-04-08 10:33:35,137 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:35,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:35,172 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-08 10:33:35,172 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-08 10:33:35,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:35,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-08 10:33:35,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=517, Invalid=2563, Unknown=0, NotChecked=0, Total=3080 [2022-04-08 10:33:35,172 INFO L87 Difference]: Start difference. First operand 67 states and 71 transitions. Second operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:36,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:36,604 INFO L93 Difference]: Finished difference Result 77 states and 80 transitions. [2022-04-08 10:33:36,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-08 10:33:36,605 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 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 55 [2022-04-08 10:33:36,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:36,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:36,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2022-04-08 10:33:36,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:36,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2022-04-08 10:33:36,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 72 transitions. [2022-04-08 10:33:36,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:36,665 INFO L225 Difference]: With dead ends: 77 [2022-04-08 10:33:36,665 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 10:33:36,666 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 77 SyntacticMatches, 5 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2245 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=897, Invalid=4653, Unknown=0, NotChecked=0, Total=5550 [2022-04-08 10:33:36,666 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 83 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 491 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 519 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 491 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:36,667 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 85 Invalid, 519 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 491 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:33:36,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 10:33:36,982 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2022-04-08 10:33:36,982 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:36,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:36,982 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:36,983 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:36,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:36,984 INFO L93 Difference]: Finished difference Result 67 states and 70 transitions. [2022-04-08 10:33:36,984 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 70 transitions. [2022-04-08 10:33:36,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:36,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:36,984 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:33:36,984 INFO L87 Difference]: Start difference. First operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 67 states. [2022-04-08 10:33:36,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:36,985 INFO L93 Difference]: Finished difference Result 67 states and 70 transitions. [2022-04-08 10:33:36,985 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 70 transitions. [2022-04-08 10:33:36,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:36,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:36,985 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:36,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:36,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 54 states have (on average 1.0740740740740742) internal successors, (58), 56 states have internal predecessors, (58), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:36,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 69 transitions. [2022-04-08 10:33:36,987 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 69 transitions. Word has length 55 [2022-04-08 10:33:36,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:36,987 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 69 transitions. [2022-04-08 10:33:36,987 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.9583333333333333) internal successors, (47), 23 states have internal predecessors, (47), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:36,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 69 transitions. [2022-04-08 10:33:37,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:37,113 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 69 transitions. [2022-04-08 10:33:37,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 10:33:37,113 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:37,113 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 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] [2022-04-08 10:33:37,138 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 10:33:37,314 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-08 10:33:37,314 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:37,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:37,314 INFO L85 PathProgramCache]: Analyzing trace with hash 829449303, now seen corresponding path program 23 times [2022-04-08 10:33:37,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:37,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [353376811] [2022-04-08 10:33:37,321 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:37,321 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:37,321 INFO L85 PathProgramCache]: Analyzing trace with hash 829449303, now seen corresponding path program 24 times [2022-04-08 10:33:37,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:37,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983016945] [2022-04-08 10:33:37,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:37,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:37,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:37,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:37,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:37,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {18682#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {18634#true} is VALID [2022-04-08 10:33:37,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-08 10:33:37,364 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-08 10:33:37,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:37,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:37,527 INFO L290 TraceCheckUtils]: 0: Hoare triple {18634#true} ~w := #in~w;~is_divisible~0 := ~true~0; {18683#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:37,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {18683#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,528 INFO L290 TraceCheckUtils]: 3: Hoare triple {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,529 INFO L290 TraceCheckUtils]: 4: Hoare triple {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,530 INFO L290 TraceCheckUtils]: 6: Hoare triple {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,530 INFO L290 TraceCheckUtils]: 8: Hoare triple {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:37,531 INFO L290 TraceCheckUtils]: 10: Hoare triple {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:37,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18691#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {18691#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {18692#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {18692#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {18693#(<= |correct_version_#in~w| 13)} #res := ~is_divisible~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,536 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18693#(<= |correct_version_#in~w| 13)} {18634#true} #87#return; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:37,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-08 10:33:37,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:37,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {18634#true} ~w := #in~w;~is_divisible~1 := ~true~0; {18694#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:37,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {18694#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,676 INFO L290 TraceCheckUtils]: 3: Hoare triple {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:37,678 INFO L290 TraceCheckUtils]: 6: Hoare triple {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:37,678 INFO L290 TraceCheckUtils]: 7: Hoare triple {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:37,678 INFO L290 TraceCheckUtils]: 8: Hoare triple {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:37,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:37,679 INFO L290 TraceCheckUtils]: 10: Hoare triple {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:37,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,680 INFO L290 TraceCheckUtils]: 12: Hoare triple {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:37,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:37,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,682 INFO L290 TraceCheckUtils]: 17: Hoare triple {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {18703#(<= 14 |student_version_#in~w|)} #res := ~is_divisible~1; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,683 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18703#(<= 14 |student_version_#in~w|)} {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} #89#return; {18635#false} is VALID [2022-04-08 10:33:37,684 INFO L272 TraceCheckUtils]: 0: Hoare triple {18634#true} call ULTIMATE.init(); {18682#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:33:37,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {18682#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {18634#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L272 TraceCheckUtils]: 7: Hoare triple {18634#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:37,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {18634#true} ~w := #in~w;~is_divisible~0 := ~true~0; {18683#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:37,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {18683#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {18684#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {18685#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {18686#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {18687#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:37,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:37,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {18688#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {18689#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {18690#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {18691#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {18691#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {18692#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:37,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {18692#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 14)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {18693#(<= |correct_version_#in~w| 13)} #res := ~is_divisible~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:37,692 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18693#(<= |correct_version_#in~w| 13)} {18634#true} #87#return; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:37,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:37,693 INFO L272 TraceCheckUtils]: 30: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:37,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {18634#true} ~w := #in~w;~is_divisible~1 := ~true~0; {18694#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:37,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {18694#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,708 INFO L290 TraceCheckUtils]: 34: Hoare triple {18695#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,708 INFO L290 TraceCheckUtils]: 35: Hoare triple {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,709 INFO L290 TraceCheckUtils]: 36: Hoare triple {18696#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:37,709 INFO L290 TraceCheckUtils]: 37: Hoare triple {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:37,710 INFO L290 TraceCheckUtils]: 38: Hoare triple {18697#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:37,710 INFO L290 TraceCheckUtils]: 39: Hoare triple {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:33:37,710 INFO L290 TraceCheckUtils]: 40: Hoare triple {18698#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:37,711 INFO L290 TraceCheckUtils]: 41: Hoare triple {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:33:37,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {18699#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,711 INFO L290 TraceCheckUtils]: 43: Hoare triple {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,712 INFO L290 TraceCheckUtils]: 44: Hoare triple {18700#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:37,712 INFO L290 TraceCheckUtils]: 45: Hoare triple {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:33:37,713 INFO L290 TraceCheckUtils]: 46: Hoare triple {18701#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,713 INFO L290 TraceCheckUtils]: 47: Hoare triple {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:37,713 INFO L290 TraceCheckUtils]: 48: Hoare triple {18702#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,714 INFO L290 TraceCheckUtils]: 49: Hoare triple {18703#(<= 14 |student_version_#in~w|)} #res := ~is_divisible~1; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,714 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:37,715 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18703#(<= 14 |student_version_#in~w|)} {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} #89#return; {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L290 TraceCheckUtils]: 52: Hoare triple {18635#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L272 TraceCheckUtils]: 53: Hoare triple {18635#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-08 10:33:37,715 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:37,715 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:37,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983016945] [2022-04-08 10:33:37,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [983016945] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:37,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [21495870] [2022-04-08 10:33:37,716 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:33:37,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:37,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:37,717 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:33:37,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-08 10:33:37,778 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-08 10:33:37,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:37,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 10:33:37,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:37,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:38,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {18634#true} call ULTIMATE.init(); {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {18634#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {18634#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {18634#true} is VALID [2022-04-08 10:33:38,640 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-08 10:33:38,641 INFO L272 TraceCheckUtils]: 7: Hoare triple {18634#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:38,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {18634#true} ~w := #in~w;~is_divisible~0 := ~true~0; {18731#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:38,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {18731#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {18735#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:33:38,642 INFO L290 TraceCheckUtils]: 10: Hoare triple {18735#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {18735#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:33:38,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {18735#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {18742#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:33:38,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {18742#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {18742#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:33:38,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {18742#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {18749#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:33:38,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {18749#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {18749#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:33:38,644 INFO L290 TraceCheckUtils]: 15: Hoare triple {18749#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {18756#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:33:38,644 INFO L290 TraceCheckUtils]: 16: Hoare triple {18756#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {18756#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:33:38,644 INFO L290 TraceCheckUtils]: 17: Hoare triple {18756#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {18763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:38,645 INFO L290 TraceCheckUtils]: 18: Hoare triple {18763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {18763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:33:38,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {18763#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {18770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:33:38,645 INFO L290 TraceCheckUtils]: 20: Hoare triple {18770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {18770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:33:38,646 INFO L290 TraceCheckUtils]: 21: Hoare triple {18770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {18777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:33:38,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {18777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {18777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:33:38,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {18777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {18784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:33:38,647 INFO L290 TraceCheckUtils]: 24: Hoare triple {18784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !(~i~0 < ~w); {18788#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:33:38,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {18788#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 14))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:38,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {18693#(<= |correct_version_#in~w| 13)} #res := ~is_divisible~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:38,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:38,649 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18693#(<= |correct_version_#in~w| 13)} {18634#true} #87#return; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:38,649 INFO L290 TraceCheckUtils]: 29: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:38,649 INFO L272 TraceCheckUtils]: 30: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:38,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {18634#true} ~w := #in~w;~is_divisible~1 := ~true~0; {18810#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:33:38,650 INFO L290 TraceCheckUtils]: 32: Hoare triple {18810#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {18814#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,650 INFO L290 TraceCheckUtils]: 33: Hoare triple {18814#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18814#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {18814#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18821#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,651 INFO L290 TraceCheckUtils]: 35: Hoare triple {18821#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18821#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {18821#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18828#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:38,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {18828#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {18828#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:33:38,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {18828#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {18835#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {18835#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18835#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {18835#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18842#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,653 INFO L290 TraceCheckUtils]: 41: Hoare triple {18842#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18842#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {18842#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18849#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,654 INFO L290 TraceCheckUtils]: 43: Hoare triple {18849#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18849#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,654 INFO L290 TraceCheckUtils]: 44: Hoare triple {18849#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18856#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {18856#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {18856#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,655 INFO L290 TraceCheckUtils]: 46: Hoare triple {18856#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18863#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,656 INFO L290 TraceCheckUtils]: 47: Hoare triple {18863#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {18863#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:33:38,656 INFO L290 TraceCheckUtils]: 48: Hoare triple {18863#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:38,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {18703#(<= 14 |student_version_#in~w|)} #res := ~is_divisible~1; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:38,657 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:38,657 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18703#(<= 14 |student_version_#in~w|)} {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} #89#return; {18635#false} is VALID [2022-04-08 10:33:38,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {18635#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {18635#false} is VALID [2022-04-08 10:33:38,658 INFO L272 TraceCheckUtils]: 53: Hoare triple {18635#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {18635#false} is VALID [2022-04-08 10:33:38,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-08 10:33:38,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-08 10:33:38,658 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-08 10:33:38,658 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:38,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:33:49,283 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-08 10:33:49,284 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-08 10:33:49,284 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-08 10:33:49,284 INFO L272 TraceCheckUtils]: 53: Hoare triple {18635#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {18635#false} is VALID [2022-04-08 10:33:49,284 INFO L290 TraceCheckUtils]: 52: Hoare triple {18635#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {18635#false} is VALID [2022-04-08 10:33:49,285 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18703#(<= 14 |student_version_#in~w|)} {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} #89#return; {18635#false} is VALID [2022-04-08 10:33:49,285 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:49,285 INFO L290 TraceCheckUtils]: 49: Hoare triple {18703#(<= 14 |student_version_#in~w|)} #res := ~is_divisible~1; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:49,286 INFO L290 TraceCheckUtils]: 48: Hoare triple {18921#(or (not (<= student_version_~i~1 student_version_~w)) (<= 14 |student_version_#in~w|))} assume !(~i~1 != ~w); {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-08 10:33:49,286 INFO L290 TraceCheckUtils]: 47: Hoare triple {18921#(or (not (<= student_version_~i~1 student_version_~w)) (<= 14 |student_version_#in~w|))} assume !(~i~1 < ~w); {18921#(or (not (<= student_version_~i~1 student_version_~w)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,286 INFO L290 TraceCheckUtils]: 46: Hoare triple {18928#(or (< student_version_~w (+ 2 student_version_~i~1)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18921#(or (not (<= student_version_~i~1 student_version_~w)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,287 INFO L290 TraceCheckUtils]: 45: Hoare triple {18928#(or (< student_version_~w (+ 2 student_version_~i~1)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18928#(or (< student_version_~w (+ 2 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,287 INFO L290 TraceCheckUtils]: 44: Hoare triple {18935#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18928#(or (< student_version_~w (+ 2 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,287 INFO L290 TraceCheckUtils]: 43: Hoare triple {18935#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18935#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,288 INFO L290 TraceCheckUtils]: 42: Hoare triple {18942#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18935#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,288 INFO L290 TraceCheckUtils]: 41: Hoare triple {18942#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18942#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {18949#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18942#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {18949#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18949#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,289 INFO L290 TraceCheckUtils]: 38: Hoare triple {18956#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18949#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,290 INFO L290 TraceCheckUtils]: 37: Hoare triple {18956#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18956#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {18963#(or (<= 14 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {18956#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {18963#(or (<= 14 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {18963#(or (<= 14 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:33:49,291 INFO L290 TraceCheckUtils]: 34: Hoare triple {18970#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 14 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {18963#(or (<= 14 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:33:49,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {18970#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 14 |student_version_#in~w|))} assume !!(~i~1 < ~w); {18970#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {18977#(or (< student_version_~w 14) (<= 14 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {18970#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {18634#true} ~w := #in~w;~is_divisible~1 := ~true~0; {18977#(or (< student_version_~w 14) (<= 14 |student_version_#in~w|))} is VALID [2022-04-08 10:33:49,292 INFO L272 TraceCheckUtils]: 30: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:49,292 INFO L290 TraceCheckUtils]: 29: Hoare triple {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:49,293 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18693#(<= |correct_version_#in~w| 13)} {18634#true} #87#return; {18660#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 13)))} is VALID [2022-04-08 10:33:49,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:49,294 INFO L290 TraceCheckUtils]: 26: Hoare triple {18693#(<= |correct_version_#in~w| 13)} #res := ~is_divisible~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:49,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {18999#(or (<= |correct_version_#in~w| 13) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-08 10:33:49,294 INFO L290 TraceCheckUtils]: 24: Hoare triple {19003#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 13) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {18999#(or (<= |correct_version_#in~w| 13) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:33:49,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {19007#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {19003#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 13) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:33:49,295 INFO L290 TraceCheckUtils]: 22: Hoare triple {19007#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {19007#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:49,296 INFO L290 TraceCheckUtils]: 21: Hoare triple {19014#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 13))} ~i~0 := 2 + ~i~0; {19007#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:33:49,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {19014#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 13))} assume !!(~i~0 < ~w); {19014#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {19021#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {19014#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {19021#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {19021#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:33:49,297 INFO L290 TraceCheckUtils]: 17: Hoare triple {19028#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 13))} ~i~0 := 2 + ~i~0; {19021#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:33:49,297 INFO L290 TraceCheckUtils]: 16: Hoare triple {19028#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 13))} assume !!(~i~0 < ~w); {19028#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {19035#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {19028#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {19035#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {19035#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:33:49,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {19042#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {19035#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:33:49,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {19042#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {19042#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:33:49,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {19049#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 13))} ~i~0 := 2 + ~i~0; {19042#(or (<= |correct_version_#in~w| 13) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:33:49,300 INFO L290 TraceCheckUtils]: 10: Hoare triple {19049#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 13))} assume !!(~i~0 < ~w); {19049#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {19056#(or (<= 14 correct_version_~w) (<= |correct_version_#in~w| 13))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {19049#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {18634#true} ~w := #in~w;~is_divisible~0 := ~true~0; {19056#(or (<= 14 correct_version_~w) (<= |correct_version_#in~w| 13))} is VALID [2022-04-08 10:33:49,300 INFO L272 TraceCheckUtils]: 7: Hoare triple {18634#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {18634#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {18634#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {18634#true} call ULTIMATE.init(); {18634#true} is VALID [2022-04-08 10:33:49,301 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:49,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [21495870] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:33:49,301 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:33:49,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 63 [2022-04-08 10:33:49,302 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:33:49,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [353376811] [2022-04-08 10:33:49,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [353376811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:33:49,302 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:33:49,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:33:49,302 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [191631279] [2022-04-08 10:33:49,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:33:49,302 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 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 57 [2022-04-08 10:33:49,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:33:49,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:49,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:49,338 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:33:49,338 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:49,339 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:33:49,339 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=623, Invalid=3283, Unknown=0, NotChecked=0, Total=3906 [2022-04-08 10:33:49,339 INFO L87 Difference]: Start difference. First operand 66 states and 69 transitions. Second operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:50,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:50,705 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2022-04-08 10:33:50,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-08 10:33:50,705 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 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 57 [2022-04-08 10:33:50,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:33:50,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:50,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 88 transitions. [2022-04-08 10:33:50,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:50,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 88 transitions. [2022-04-08 10:33:50,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 88 transitions. [2022-04-08 10:33:50,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:33:50,780 INFO L225 Difference]: With dead ends: 86 [2022-04-08 10:33:50,780 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 10:33:50,780 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 75 SyntacticMatches, 5 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2911 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=1097, Invalid=6043, Unknown=0, NotChecked=0, Total=7140 [2022-04-08 10:33:50,781 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 97 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 352 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 352 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:33:50,781 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 57 Invalid, 383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 352 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:33:50,782 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 10:33:51,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 69. [2022-04-08 10:33:51,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:33:51,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:51,174 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:51,174 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:51,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:51,175 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2022-04-08 10:33:51,175 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2022-04-08 10:33:51,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:51,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:51,176 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:33:51,176 INFO L87 Difference]: Start difference. First operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:33:51,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:33:51,177 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2022-04-08 10:33:51,177 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2022-04-08 10:33:51,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:33:51,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:33:51,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:33:51,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:33:51,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 57 states have (on average 1.087719298245614) internal successors, (62), 59 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:33:51,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 73 transitions. [2022-04-08 10:33:51,179 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 73 transitions. Word has length 57 [2022-04-08 10:33:51,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:33:51,179 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 73 transitions. [2022-04-08 10:33:51,179 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:33:51,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 73 transitions. [2022-04-08 10:33:51,298 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-08 10:33:51,298 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2022-04-08 10:33:51,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-08 10:33:51,299 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:33:51,299 INFO L499 BasicCegarLoop]: trace histogram [7, 7, 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] [2022-04-08 10:33:51,314 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-08 10:33:51,503 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-08 10:33:51,503 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:33:51,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:33:51,504 INFO L85 PathProgramCache]: Analyzing trace with hash 424150547, now seen corresponding path program 23 times [2022-04-08 10:33:51,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:33:51,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [410554236] [2022-04-08 10:33:51,506 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:33:51,506 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:33:51,506 INFO L85 PathProgramCache]: Analyzing trace with hash 424150547, now seen corresponding path program 24 times [2022-04-08 10:33:51,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:33:51,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1150619119] [2022-04-08 10:33:51,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:33:51,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:33:51,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:33:51,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {19635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {19587#true} is VALID [2022-04-08 10:33:51,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-08 10:33:51,552 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-08 10:33:51,553 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:33:51,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {19587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {19636#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:51,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {19636#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,683 INFO L290 TraceCheckUtils]: 3: Hoare triple {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,683 INFO L290 TraceCheckUtils]: 4: Hoare triple {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,684 INFO L290 TraceCheckUtils]: 6: Hoare triple {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,686 INFO L290 TraceCheckUtils]: 10: Hoare triple {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} #res := ~is_divisible~0; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,691 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19645#(<= 14 |correct_version_#in~w|)} {19587#true} #87#return; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:33:51,691 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-08 10:33:51,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:51,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {19587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {19646#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:51,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {19646#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:51,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:51,900 INFO L290 TraceCheckUtils]: 3: Hoare triple {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,900 INFO L290 TraceCheckUtils]: 4: Hoare triple {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,901 INFO L290 TraceCheckUtils]: 6: Hoare triple {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:51,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:51,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,903 INFO L290 TraceCheckUtils]: 10: Hoare triple {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:51,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:51,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,905 INFO L290 TraceCheckUtils]: 14: Hoare triple {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,905 INFO L290 TraceCheckUtils]: 15: Hoare triple {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19654#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {19654#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {19655#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:33:51,906 INFO L290 TraceCheckUtils]: 17: Hoare triple {19655#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {19656#(<= |student_version_#in~w| 13)} #res := ~is_divisible~1; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,908 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19656#(<= |student_version_#in~w| 13)} {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {19588#false} is VALID [2022-04-08 10:33:51,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {19587#true} call ULTIMATE.init(); {19635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:33:51,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {19635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {19587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-08 10:33:51,909 INFO L272 TraceCheckUtils]: 7: Hoare triple {19587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:33:51,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {19587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {19636#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:33:51,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {19636#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,910 INFO L290 TraceCheckUtils]: 10: Hoare triple {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {19637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,911 INFO L290 TraceCheckUtils]: 12: Hoare triple {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {19638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {19639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,914 INFO L290 TraceCheckUtils]: 17: Hoare triple {19640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,915 INFO L290 TraceCheckUtils]: 19: Hoare triple {19641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,915 INFO L290 TraceCheckUtils]: 20: Hoare triple {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,916 INFO L290 TraceCheckUtils]: 21: Hoare triple {19642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,916 INFO L290 TraceCheckUtils]: 22: Hoare triple {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:51,917 INFO L290 TraceCheckUtils]: 23: Hoare triple {19643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,917 INFO L290 TraceCheckUtils]: 24: Hoare triple {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:33:51,917 INFO L290 TraceCheckUtils]: 25: Hoare triple {19644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} #res := ~is_divisible~0; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:51,919 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19645#(<= 14 |correct_version_#in~w|)} {19587#true} #87#return; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:33:51,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:33:51,920 INFO L272 TraceCheckUtils]: 30: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:33:51,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {19587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {19646#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:51,920 INFO L290 TraceCheckUtils]: 32: Hoare triple {19646#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:51,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:51,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {19647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,922 INFO L290 TraceCheckUtils]: 35: Hoare triple {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {19648#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {19649#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:51,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:51,924 INFO L290 TraceCheckUtils]: 40: Hoare triple {19650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,924 INFO L290 TraceCheckUtils]: 41: Hoare triple {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,925 INFO L290 TraceCheckUtils]: 42: Hoare triple {19651#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:51,925 INFO L290 TraceCheckUtils]: 43: Hoare triple {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:51,926 INFO L290 TraceCheckUtils]: 44: Hoare triple {19652#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,927 INFO L290 TraceCheckUtils]: 46: Hoare triple {19653#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {19654#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:33:51,927 INFO L290 TraceCheckUtils]: 47: Hoare triple {19654#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {19655#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:33:51,928 INFO L290 TraceCheckUtils]: 48: Hoare triple {19655#(and (or (<= student_version_~i~1 14) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,928 INFO L290 TraceCheckUtils]: 49: Hoare triple {19656#(<= |student_version_#in~w| 13)} #res := ~is_divisible~1; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,928 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:51,929 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {19656#(<= |student_version_#in~w| 13)} {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {19588#false} is VALID [2022-04-08 10:33:51,929 INFO L290 TraceCheckUtils]: 52: Hoare triple {19588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {19588#false} is VALID [2022-04-08 10:33:51,930 INFO L272 TraceCheckUtils]: 53: Hoare triple {19588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {19588#false} is VALID [2022-04-08 10:33:51,930 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-08 10:33:51,930 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-08 10:33:51,930 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-08 10:33:51,930 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:51,930 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:33:51,930 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1150619119] [2022-04-08 10:33:51,930 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1150619119] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:33:51,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [917013495] [2022-04-08 10:33:51,931 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:33:51,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:33:51,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:33:51,932 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:33:51,933 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-08 10:33:52,022 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-08 10:33:52,022 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:33:52,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 10:33:52,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:33:52,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:33:53,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {19587#true} call ULTIMATE.init(); {19587#true} is VALID [2022-04-08 10:33:53,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {19587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {19587#true} is VALID [2022-04-08 10:33:53,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-08 10:33:53,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-08 10:33:53,137 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-08 10:33:53,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {19587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {19587#true} is VALID [2022-04-08 10:33:53,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-08 10:33:53,138 INFO L272 TraceCheckUtils]: 7: Hoare triple {19587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:33:53,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {19587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {19684#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:33:53,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {19684#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {19688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,139 INFO L290 TraceCheckUtils]: 10: Hoare triple {19688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {19688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {19688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {19695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {19695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {19695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {19702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {19702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {19702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:53,141 INFO L290 TraceCheckUtils]: 16: Hoare triple {19709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:53,141 INFO L290 TraceCheckUtils]: 17: Hoare triple {19709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,142 INFO L290 TraceCheckUtils]: 18: Hoare triple {19716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {19716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,142 INFO L290 TraceCheckUtils]: 19: Hoare triple {19716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:53,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {19723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:33:53,143 INFO L290 TraceCheckUtils]: 21: Hoare triple {19723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,143 INFO L290 TraceCheckUtils]: 22: Hoare triple {19730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {19730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,144 INFO L290 TraceCheckUtils]: 23: Hoare triple {19730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {19737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,144 INFO L290 TraceCheckUtils]: 24: Hoare triple {19737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !(~i~0 < ~w); {19737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:33:53,144 INFO L290 TraceCheckUtils]: 25: Hoare triple {19737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !(~i~0 != ~w); {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:53,145 INFO L290 TraceCheckUtils]: 26: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} #res := ~is_divisible~0; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:53,145 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:33:53,146 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19645#(<= 14 |correct_version_#in~w|)} {19587#true} #87#return; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:33:53,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:33:53,146 INFO L272 TraceCheckUtils]: 30: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:33:53,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {19587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {19762#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:33:53,147 INFO L290 TraceCheckUtils]: 32: Hoare triple {19762#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {19766#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:53,147 INFO L290 TraceCheckUtils]: 33: Hoare triple {19766#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {19766#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:33:53,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {19766#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {19773#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:53,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {19773#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {19773#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:33:53,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {19773#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {19780#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:53,149 INFO L290 TraceCheckUtils]: 37: Hoare triple {19780#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {19780#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:33:53,149 INFO L290 TraceCheckUtils]: 38: Hoare triple {19780#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {19787#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:53,150 INFO L290 TraceCheckUtils]: 39: Hoare triple {19787#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {19787#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:33:53,150 INFO L290 TraceCheckUtils]: 40: Hoare triple {19787#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {19794#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:53,151 INFO L290 TraceCheckUtils]: 41: Hoare triple {19794#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {19794#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:33:53,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {19794#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {19801#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:53,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {19801#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {19801#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:33:53,152 INFO L290 TraceCheckUtils]: 44: Hoare triple {19801#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {19808#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:33:53,152 INFO L290 TraceCheckUtils]: 45: Hoare triple {19808#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {19808#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:33:53,152 INFO L290 TraceCheckUtils]: 46: Hoare triple {19808#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {19815#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:33:53,153 INFO L290 TraceCheckUtils]: 47: Hoare triple {19815#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !(~i~1 < ~w); {19819#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:33:53,153 INFO L290 TraceCheckUtils]: 48: Hoare triple {19819#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 14))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:53,154 INFO L290 TraceCheckUtils]: 49: Hoare triple {19656#(<= |student_version_#in~w| 13)} #res := ~is_divisible~1; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:53,154 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:33:53,155 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {19656#(<= |student_version_#in~w| 13)} {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {19588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L272 TraceCheckUtils]: 53: Hoare triple {19588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-08 10:33:53,155 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:33:53,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:03,484 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-08 10:34:03,484 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-08 10:34:03,484 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-08 10:34:03,484 INFO L272 TraceCheckUtils]: 53: Hoare triple {19588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {19588#false} is VALID [2022-04-08 10:34:03,484 INFO L290 TraceCheckUtils]: 52: Hoare triple {19588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {19588#false} is VALID [2022-04-08 10:34:03,485 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {19656#(<= |student_version_#in~w| 13)} {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {19588#false} is VALID [2022-04-08 10:34:03,485 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:34:03,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {19656#(<= |student_version_#in~w| 13)} #res := ~is_divisible~1; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:34:03,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {19874#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 13))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-08 10:34:03,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {19878#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 13) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {19874#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,487 INFO L290 TraceCheckUtils]: 46: Hoare triple {19882#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19878#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 13) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:34:03,487 INFO L290 TraceCheckUtils]: 45: Hoare triple {19882#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19882#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,488 INFO L290 TraceCheckUtils]: 44: Hoare triple {19889#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19882#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,488 INFO L290 TraceCheckUtils]: 43: Hoare triple {19889#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19889#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {19896#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19889#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,489 INFO L290 TraceCheckUtils]: 41: Hoare triple {19896#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19896#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,489 INFO L290 TraceCheckUtils]: 40: Hoare triple {19903#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19896#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,489 INFO L290 TraceCheckUtils]: 39: Hoare triple {19903#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19903#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,490 INFO L290 TraceCheckUtils]: 38: Hoare triple {19910#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19903#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,490 INFO L290 TraceCheckUtils]: 37: Hoare triple {19910#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19910#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,491 INFO L290 TraceCheckUtils]: 36: Hoare triple {19917#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19910#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,491 INFO L290 TraceCheckUtils]: 35: Hoare triple {19917#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19917#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,491 INFO L290 TraceCheckUtils]: 34: Hoare triple {19924#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} ~i~1 := 2 + ~i~1; {19917#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {19924#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} assume !!(~i~1 < ~w); {19924#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,492 INFO L290 TraceCheckUtils]: 32: Hoare triple {19931#(or (<= 14 student_version_~w) (<= |student_version_#in~w| 13))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {19924#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,492 INFO L290 TraceCheckUtils]: 31: Hoare triple {19587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {19931#(or (<= 14 student_version_~w) (<= |student_version_#in~w| 13))} is VALID [2022-04-08 10:34:03,492 INFO L272 TraceCheckUtils]: 30: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:34:03,493 INFO L290 TraceCheckUtils]: 29: Hoare triple {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:34:03,494 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19645#(<= 14 |correct_version_#in~w|)} {19587#true} #87#return; {19613#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 14) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:34:03,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:03,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} #res := ~is_divisible~0; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:03,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {19953#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 14 |correct_version_#in~w|))} assume !(~i~0 != ~w); {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:03,495 INFO L290 TraceCheckUtils]: 24: Hoare triple {19953#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 14 |correct_version_#in~w|))} assume !(~i~0 < ~w); {19953#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,495 INFO L290 TraceCheckUtils]: 23: Hoare triple {19960#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19953#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,496 INFO L290 TraceCheckUtils]: 22: Hoare triple {19960#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19960#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,496 INFO L290 TraceCheckUtils]: 21: Hoare triple {19967#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19960#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {19967#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19967#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {19974#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19967#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {19974#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19974#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,498 INFO L290 TraceCheckUtils]: 17: Hoare triple {19981#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19974#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {19981#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19981#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {19988#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19981#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {19988#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19988#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {19995#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19988#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {19995#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {19995#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {20002#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 14 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {19995#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,500 INFO L290 TraceCheckUtils]: 10: Hoare triple {20002#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 14 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {20002#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {20009#(or (<= 14 |correct_version_#in~w|) (< correct_version_~w 14))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {20002#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 14 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {19587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {20009#(or (<= 14 |correct_version_#in~w|) (< correct_version_~w 14))} is VALID [2022-04-08 10:34:03,501 INFO L272 TraceCheckUtils]: 7: Hoare triple {19587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {19587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-08 10:34:03,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {19587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {19587#true} is VALID [2022-04-08 10:34:03,502 INFO L272 TraceCheckUtils]: 0: Hoare triple {19587#true} call ULTIMATE.init(); {19587#true} is VALID [2022-04-08 10:34:03,502 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 49 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:03,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [917013495] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:03,502 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:03,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 63 [2022-04-08 10:34:03,502 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:03,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [410554236] [2022-04-08 10:34:03,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [410554236] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:03,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:03,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-08 10:34:03,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145521050] [2022-04-08 10:34:03,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:03,503 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 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 57 [2022-04-08 10:34:03,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:03,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:03,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:03,539 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-08 10:34:03,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:03,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-08 10:34:03,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=623, Invalid=3283, Unknown=0, NotChecked=0, Total=3906 [2022-04-08 10:34:03,540 INFO L87 Difference]: Start difference. First operand 69 states and 73 transitions. Second operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:04,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:04,949 INFO L93 Difference]: Finished difference Result 81 states and 86 transitions. [2022-04-08 10:34:04,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-08 10:34:04,949 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 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 57 [2022-04-08 10:34:04,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:04,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:04,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 81 transitions. [2022-04-08 10:34:04,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:04,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 81 transitions. [2022-04-08 10:34:04,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 81 transitions. [2022-04-08 10:34:05,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:05,020 INFO L225 Difference]: With dead ends: 81 [2022-04-08 10:34:05,020 INFO L226 Difference]: Without dead ends: 72 [2022-04-08 10:34:05,021 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 75 SyntacticMatches, 5 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2919 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=1097, Invalid=6043, Unknown=0, NotChecked=0, Total=7140 [2022-04-08 10:34:05,021 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 83 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 412 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 445 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 412 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:05,022 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 65 Invalid, 445 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 412 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:34:05,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-08 10:34:05,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2022-04-08 10:34:05,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:05,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:05,408 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:05,408 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:05,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:05,409 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2022-04-08 10:34:05,409 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-08 10:34:05,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:05,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:05,410 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 72 states. [2022-04-08 10:34:05,410 INFO L87 Difference]: Start difference. First operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 72 states. [2022-04-08 10:34:05,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:05,411 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2022-04-08 10:34:05,411 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-08 10:34:05,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:05,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:05,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:05,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:05,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 60 states have (on average 1.1) internal successors, (66), 62 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:05,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 77 transitions. [2022-04-08 10:34:05,413 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 77 transitions. Word has length 57 [2022-04-08 10:34:05,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:05,413 INFO L478 AbstractCegarLoop]: Abstraction has 72 states and 77 transitions. [2022-04-08 10:34:05,413 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:05,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 72 states and 77 transitions. [2022-04-08 10:34:05,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:05,552 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-08 10:34:05,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 10:34:05,552 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:05,552 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 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] [2022-04-08 10:34:05,577 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-08 10:34:05,753 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:05,753 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:05,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:05,753 INFO L85 PathProgramCache]: Analyzing trace with hash -2140438507, now seen corresponding path program 25 times [2022-04-08 10:34:05,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:05,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1280376676] [2022-04-08 10:34:05,756 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:05,756 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:05,756 INFO L85 PathProgramCache]: Analyzing trace with hash -2140438507, now seen corresponding path program 26 times [2022-04-08 10:34:05,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:05,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1207620507] [2022-04-08 10:34:05,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:05,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:05,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:05,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:05,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:05,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {20580#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {20530#true} is VALID [2022-04-08 10:34:05,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-08 10:34:05,810 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-08 10:34:05,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:05,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:05,961 INFO L290 TraceCheckUtils]: 0: Hoare triple {20530#true} ~w := #in~w;~is_divisible~0 := ~true~0; {20581#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:05,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {20581#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,963 INFO L290 TraceCheckUtils]: 3: Hoare triple {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,963 INFO L290 TraceCheckUtils]: 4: Hoare triple {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:05,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:05,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,968 INFO L290 TraceCheckUtils]: 14: Hoare triple {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20589#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:05,969 INFO L290 TraceCheckUtils]: 16: Hoare triple {20589#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !(~i~0 < ~w); {20590#(and (<= correct_version_~w 14) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:05,970 INFO L290 TraceCheckUtils]: 17: Hoare triple {20590#(and (<= correct_version_~w 14) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:05,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {20591#(<= |correct_version_#in~w| 14)} #res := ~is_divisible~0; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:05,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:05,971 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {20591#(<= |correct_version_#in~w| 14)} {20530#true} #87#return; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:05,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-08 10:34:05,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:06,140 INFO L290 TraceCheckUtils]: 0: Hoare triple {20530#true} ~w := #in~w;~is_divisible~1 := ~true~0; {20592#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:06,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {20592#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,141 INFO L290 TraceCheckUtils]: 3: Hoare triple {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,141 INFO L290 TraceCheckUtils]: 4: Hoare triple {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,142 INFO L290 TraceCheckUtils]: 5: Hoare triple {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:06,142 INFO L290 TraceCheckUtils]: 6: Hoare triple {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:06,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:06,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:06,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:06,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:06,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:06,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:06,146 INFO L290 TraceCheckUtils]: 15: Hoare triple {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20600#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {20600#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} ~i~1 := 2 + ~i~1; {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} assume !(~i~1 < ~w); {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,147 INFO L290 TraceCheckUtils]: 19: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,147 INFO L290 TraceCheckUtils]: 20: Hoare triple {20602#(<= 15 |student_version_#in~w|)} #res := ~is_divisible~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,148 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20602#(<= 15 |student_version_#in~w|)} {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} #89#return; {20531#false} is VALID [2022-04-08 10:34:06,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {20530#true} call ULTIMATE.init(); {20580#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:34:06,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {20580#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {20530#true} is VALID [2022-04-08 10:34:06,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-08 10:34:06,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-08 10:34:06,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-08 10:34:06,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {20530#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {20530#true} is VALID [2022-04-08 10:34:06,149 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-08 10:34:06,150 INFO L272 TraceCheckUtils]: 7: Hoare triple {20530#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:06,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {20530#true} ~w := #in~w;~is_divisible~0 := ~true~0; {20581#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:06,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {20581#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,151 INFO L290 TraceCheckUtils]: 11: Hoare triple {20582#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {20583#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {20584#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,153 INFO L290 TraceCheckUtils]: 17: Hoare triple {20585#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:06,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:06,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {20586#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {20587#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,155 INFO L290 TraceCheckUtils]: 22: Hoare triple {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {20588#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {20589#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:06,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {20589#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !(~i~0 < ~w); {20590#(and (<= correct_version_~w 14) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:06,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {20590#(and (<= correct_version_~w 14) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:06,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {20591#(<= |correct_version_#in~w| 14)} #res := ~is_divisible~0; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:06,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:06,157 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20591#(<= |correct_version_#in~w| 14)} {20530#true} #87#return; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:06,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:06,158 INFO L272 TraceCheckUtils]: 30: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:06,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {20530#true} ~w := #in~w;~is_divisible~1 := ~true~0; {20592#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:06,158 INFO L290 TraceCheckUtils]: 32: Hoare triple {20592#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {20593#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,160 INFO L290 TraceCheckUtils]: 36: Hoare triple {20594#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:06,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:06,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {20595#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:06,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:06,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {20596#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:06,162 INFO L290 TraceCheckUtils]: 41: Hoare triple {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:06,162 INFO L290 TraceCheckUtils]: 42: Hoare triple {20597#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {20598#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:06,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:06,164 INFO L290 TraceCheckUtils]: 46: Hoare triple {20599#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20600#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:06,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {20600#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} ~i~1 := 2 + ~i~1; {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,165 INFO L290 TraceCheckUtils]: 49: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} assume !(~i~1 < ~w); {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} is VALID [2022-04-08 10:34:06,165 INFO L290 TraceCheckUtils]: 50: Hoare triple {20601#(and (= |student_version_#in~w| student_version_~w) (<= 15 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,165 INFO L290 TraceCheckUtils]: 51: Hoare triple {20602#(<= 15 |student_version_#in~w|)} #res := ~is_divisible~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,166 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:06,166 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20602#(<= 15 |student_version_#in~w|)} {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} #89#return; {20531#false} is VALID [2022-04-08 10:34:06,166 INFO L290 TraceCheckUtils]: 54: Hoare triple {20531#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {20531#false} is VALID [2022-04-08 10:34:06,167 INFO L272 TraceCheckUtils]: 55: Hoare triple {20531#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {20531#false} is VALID [2022-04-08 10:34:06,167 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-08 10:34:06,167 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-08 10:34:06,167 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-08 10:34:06,167 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:06,167 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:06,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1207620507] [2022-04-08 10:34:06,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1207620507] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:06,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [593517315] [2022-04-08 10:34:06,167 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:34:06,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:06,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:06,169 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:34:06,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-08 10:34:06,247 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:34:06,247 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:06,248 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 10:34:06,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:06,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:07,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {20530#true} call ULTIMATE.init(); {20530#true} is VALID [2022-04-08 10:34:07,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {20530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {20530#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L272 TraceCheckUtils]: 7: Hoare triple {20530#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:07,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {20530#true} ~w := #in~w;~is_divisible~0 := ~true~0; {20630#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:07,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {20630#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {20634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:07,002 INFO L290 TraceCheckUtils]: 10: Hoare triple {20634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {20634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:07,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {20634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {20641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:07,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {20641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {20641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:07,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {20641#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {20648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:07,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {20648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {20648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:07,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {20648#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {20655#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:07,004 INFO L290 TraceCheckUtils]: 16: Hoare triple {20655#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {20655#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:07,005 INFO L290 TraceCheckUtils]: 17: Hoare triple {20655#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {20662#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:07,005 INFO L290 TraceCheckUtils]: 18: Hoare triple {20662#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {20662#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:07,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {20662#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {20669#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:07,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {20669#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {20669#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:07,006 INFO L290 TraceCheckUtils]: 21: Hoare triple {20669#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {20676#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:07,007 INFO L290 TraceCheckUtils]: 22: Hoare triple {20676#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {20676#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:07,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {20676#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {20683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:07,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {20683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !(~i~0 < ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:07,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume !(~i~0 != ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:07,008 INFO L290 TraceCheckUtils]: 26: Hoare triple {20591#(<= |correct_version_#in~w| 14)} #res := ~is_divisible~0; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:07,008 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:07,009 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20591#(<= |correct_version_#in~w| 14)} {20530#true} #87#return; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:07,009 INFO L290 TraceCheckUtils]: 29: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:07,009 INFO L272 TraceCheckUtils]: 30: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:07,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {20530#true} ~w := #in~w;~is_divisible~1 := ~true~0; {20708#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,010 INFO L290 TraceCheckUtils]: 32: Hoare triple {20708#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {20712#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,010 INFO L290 TraceCheckUtils]: 33: Hoare triple {20712#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20712#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,011 INFO L290 TraceCheckUtils]: 34: Hoare triple {20712#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20719#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,011 INFO L290 TraceCheckUtils]: 35: Hoare triple {20719#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20719#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {20719#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20726#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:07,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {20726#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {20726#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:07,012 INFO L290 TraceCheckUtils]: 38: Hoare triple {20726#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {20733#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {20733#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20733#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {20733#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20740#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,013 INFO L290 TraceCheckUtils]: 41: Hoare triple {20740#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20740#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,014 INFO L290 TraceCheckUtils]: 42: Hoare triple {20740#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20747#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,014 INFO L290 TraceCheckUtils]: 43: Hoare triple {20747#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20747#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,015 INFO L290 TraceCheckUtils]: 44: Hoare triple {20747#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20754#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,015 INFO L290 TraceCheckUtils]: 45: Hoare triple {20754#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20754#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,015 INFO L290 TraceCheckUtils]: 46: Hoare triple {20754#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20761#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:07,016 INFO L290 TraceCheckUtils]: 47: Hoare triple {20761#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,016 INFO L290 TraceCheckUtils]: 48: Hoare triple {20602#(<= 15 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,016 INFO L290 TraceCheckUtils]: 49: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume !(~i~1 < ~w); {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,017 INFO L290 TraceCheckUtils]: 50: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,017 INFO L290 TraceCheckUtils]: 51: Hoare triple {20602#(<= 15 |student_version_#in~w|)} #res := ~is_divisible~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,017 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:07,018 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20602#(<= 15 |student_version_#in~w|)} {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} #89#return; {20531#false} is VALID [2022-04-08 10:34:07,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {20531#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {20531#false} is VALID [2022-04-08 10:34:07,018 INFO L272 TraceCheckUtils]: 55: Hoare triple {20531#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {20531#false} is VALID [2022-04-08 10:34:07,018 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-08 10:34:07,018 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-08 10:34:07,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-08 10:34:07,019 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:07,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:10,692 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-08 10:34:10,693 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-08 10:34:10,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-08 10:34:10,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {20531#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {20531#false} is VALID [2022-04-08 10:34:10,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {20531#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {20531#false} is VALID [2022-04-08 10:34:10,694 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20602#(<= 15 |student_version_#in~w|)} {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} #89#return; {20531#false} is VALID [2022-04-08 10:34:10,694 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,694 INFO L290 TraceCheckUtils]: 51: Hoare triple {20602#(<= 15 |student_version_#in~w|)} #res := ~is_divisible~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,695 INFO L290 TraceCheckUtils]: 50: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume !(~i~1 < ~w); {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,695 INFO L290 TraceCheckUtils]: 48: Hoare triple {20602#(<= 15 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,696 INFO L290 TraceCheckUtils]: 47: Hoare triple {20834#(or (not (< student_version_~i~1 student_version_~w)) (<= 15 |student_version_#in~w|))} assume !!(~i~1 < ~w); {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-08 10:34:10,696 INFO L290 TraceCheckUtils]: 46: Hoare triple {20838#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {20834#(or (not (< student_version_~i~1 student_version_~w)) (<= 15 |student_version_#in~w|))} is VALID [2022-04-08 10:34:10,696 INFO L290 TraceCheckUtils]: 45: Hoare triple {20838#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {20838#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,697 INFO L290 TraceCheckUtils]: 44: Hoare triple {20845#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {20838#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,698 INFO L290 TraceCheckUtils]: 43: Hoare triple {20845#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {20845#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:34:10,698 INFO L290 TraceCheckUtils]: 42: Hoare triple {20852#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {20845#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:34:10,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {20852#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {20852#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {20859#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {20852#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,699 INFO L290 TraceCheckUtils]: 39: Hoare triple {20859#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {20859#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:10,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {20866#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 15 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {20859#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:10,700 INFO L290 TraceCheckUtils]: 37: Hoare triple {20866#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 15 |student_version_#in~w|))} assume !!(~i~1 < ~w); {20866#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 15 |student_version_#in~w|))} is VALID [2022-04-08 10:34:10,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {20873#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {20866#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 15 |student_version_#in~w|))} is VALID [2022-04-08 10:34:10,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {20873#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {20873#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:10,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {20880#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {20873#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:10,702 INFO L290 TraceCheckUtils]: 33: Hoare triple {20880#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {20880#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,702 INFO L290 TraceCheckUtils]: 32: Hoare triple {20887#(or (<= student_version_~w 14) (<= 15 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {20880#(or (<= 15 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:34:10,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {20530#true} ~w := #in~w;~is_divisible~1 := ~true~0; {20887#(or (<= student_version_~w 14) (<= 15 |student_version_#in~w|))} is VALID [2022-04-08 10:34:10,702 INFO L272 TraceCheckUtils]: 30: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:10,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:10,704 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20591#(<= |correct_version_#in~w| 14)} {20530#true} #87#return; {20556#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 14)))} is VALID [2022-04-08 10:34:10,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:10,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {20591#(<= |correct_version_#in~w| 14)} #res := ~is_divisible~0; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:10,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume !(~i~0 != ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:10,705 INFO L290 TraceCheckUtils]: 24: Hoare triple {20912#(or (<= |correct_version_#in~w| 14) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-08 10:34:10,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {20916#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {20912#(or (<= |correct_version_#in~w| 14) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:34:10,706 INFO L290 TraceCheckUtils]: 22: Hoare triple {20916#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {20916#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:10,706 INFO L290 TraceCheckUtils]: 21: Hoare triple {20923#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {20916#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:10,706 INFO L290 TraceCheckUtils]: 20: Hoare triple {20923#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {20923#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:10,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {20930#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 14))} ~i~0 := 2 + ~i~0; {20923#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:10,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {20930#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 14))} assume !!(~i~0 < ~w); {20930#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 14))} is VALID [2022-04-08 10:34:10,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {20937#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {20930#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 14))} is VALID [2022-04-08 10:34:10,708 INFO L290 TraceCheckUtils]: 16: Hoare triple {20937#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {20937#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:10,708 INFO L290 TraceCheckUtils]: 15: Hoare triple {20944#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {20937#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:10,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {20944#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {20944#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:34:10,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {20951#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 14))} ~i~0 := 2 + ~i~0; {20944#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:34:10,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {20951#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 14))} assume !!(~i~0 < ~w); {20951#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 14))} is VALID [2022-04-08 10:34:10,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {20958#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {20951#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 14))} is VALID [2022-04-08 10:34:10,710 INFO L290 TraceCheckUtils]: 10: Hoare triple {20958#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {20958#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:10,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {20965#(or (<= |correct_version_#in~w| 14) (< 14 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {20958#(or (<= |correct_version_#in~w| 14) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:10,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {20530#true} ~w := #in~w;~is_divisible~0 := ~true~0; {20965#(or (<= |correct_version_#in~w| 14) (< 14 correct_version_~w))} is VALID [2022-04-08 10:34:10,711 INFO L272 TraceCheckUtils]: 7: Hoare triple {20530#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {20530#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {20530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {20530#true} is VALID [2022-04-08 10:34:10,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {20530#true} call ULTIMATE.init(); {20530#true} is VALID [2022-04-08 10:34:10,712 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 64 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:10,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [593517315] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:10,712 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:10,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 23, 23] total 62 [2022-04-08 10:34:10,712 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:10,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1280376676] [2022-04-08 10:34:10,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1280376676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:10,712 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:10,713 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 10:34:10,713 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512933043] [2022-04-08 10:34:10,713 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:10,713 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 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 59 [2022-04-08 10:34:10,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:10,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:10,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:10,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 10:34:10,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:10,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 10:34:10,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=633, Invalid=3149, Unknown=0, NotChecked=0, Total=3782 [2022-04-08 10:34:10,753 INFO L87 Difference]: Start difference. First operand 72 states and 77 transitions. Second operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:12,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:12,303 INFO L93 Difference]: Finished difference Result 87 states and 92 transitions. [2022-04-08 10:34:12,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:34:12,303 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 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 59 [2022-04-08 10:34:12,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:12,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:12,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-08 10:34:12,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:12,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-08 10:34:12,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 84 transitions. [2022-04-08 10:34:12,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:12,370 INFO L225 Difference]: With dead ends: 87 [2022-04-08 10:34:12,370 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 10:34:12,370 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 81 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2875 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=1094, Invalid=5712, Unknown=0, NotChecked=0, Total=6806 [2022-04-08 10:34:12,371 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 91 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 507 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 536 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 507 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:12,371 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 67 Invalid, 536 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 507 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:34:12,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 10:34:12,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2022-04-08 10:34:12,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:12,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:12,756 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:12,757 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:12,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:12,758 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2022-04-08 10:34:12,758 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-08 10:34:12,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:12,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:12,758 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:34:12,759 INFO L87 Difference]: Start difference. First operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:34:12,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:12,760 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2022-04-08 10:34:12,760 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-08 10:34:12,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:12,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:12,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:12,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:12,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 61 states have internal predecessors, (64), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:12,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 75 transitions. [2022-04-08 10:34:12,761 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 75 transitions. Word has length 59 [2022-04-08 10:34:12,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:12,761 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 75 transitions. [2022-04-08 10:34:12,761 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:12,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 75 transitions. [2022-04-08 10:34:12,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:12,866 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-08 10:34:12,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 10:34:12,868 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:12,868 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 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] [2022-04-08 10:34:12,887 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-08 10:34:13,075 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:13,075 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:13,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:13,076 INFO L85 PathProgramCache]: Analyzing trace with hash 711228661, now seen corresponding path program 25 times [2022-04-08 10:34:13,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:13,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283171145] [2022-04-08 10:34:13,079 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:13,079 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:13,079 INFO L85 PathProgramCache]: Analyzing trace with hash 711228661, now seen corresponding path program 26 times [2022-04-08 10:34:13,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:13,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613803655] [2022-04-08 10:34:13,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:13,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:13,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:13,128 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:13,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:13,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {21550#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {21500#true} is VALID [2022-04-08 10:34:13,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-08 10:34:13,132 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-08 10:34:13,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:13,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:13,279 INFO L290 TraceCheckUtils]: 0: Hoare triple {21500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {21551#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:13,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {21551#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,280 INFO L290 TraceCheckUtils]: 3: Hoare triple {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,281 INFO L290 TraceCheckUtils]: 4: Hoare triple {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,281 INFO L290 TraceCheckUtils]: 5: Hoare triple {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,282 INFO L290 TraceCheckUtils]: 6: Hoare triple {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,284 INFO L290 TraceCheckUtils]: 10: Hoare triple {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,285 INFO L290 TraceCheckUtils]: 12: Hoare triple {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21559#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,287 INFO L290 TraceCheckUtils]: 16: Hoare triple {21559#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,287 INFO L290 TraceCheckUtils]: 17: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,288 INFO L290 TraceCheckUtils]: 20: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} #res := ~is_divisible~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,290 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {21561#(<= 15 |correct_version_#in~w|)} {21500#true} #87#return; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:13,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-08 10:34:13,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:13,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {21500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {21562#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:13,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {21562#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:13,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:13,456 INFO L290 TraceCheckUtils]: 3: Hoare triple {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,457 INFO L290 TraceCheckUtils]: 4: Hoare triple {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,458 INFO L290 TraceCheckUtils]: 6: Hoare triple {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:13,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:13,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,459 INFO L290 TraceCheckUtils]: 10: Hoare triple {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:13,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:13,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,461 INFO L290 TraceCheckUtils]: 15: Hoare triple {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21570#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:13,461 INFO L290 TraceCheckUtils]: 16: Hoare triple {21570#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !(~i~1 < ~w); {21571#(and (<= student_version_~w 14) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {21571#(and (<= student_version_~w 14) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,462 INFO L290 TraceCheckUtils]: 18: Hoare triple {21572#(<= |student_version_#in~w| 14)} #res := ~is_divisible~1; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,462 INFO L290 TraceCheckUtils]: 19: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,463 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {21572#(<= |student_version_#in~w| 14)} {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} #89#return; {21501#false} is VALID [2022-04-08 10:34:13,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {21500#true} call ULTIMATE.init(); {21550#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:34:13,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {21550#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L290 TraceCheckUtils]: 5: Hoare triple {21500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L272 TraceCheckUtils]: 7: Hoare triple {21500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:13,464 INFO L290 TraceCheckUtils]: 8: Hoare triple {21500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {21551#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:13,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {21551#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,465 INFO L290 TraceCheckUtils]: 10: Hoare triple {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,465 INFO L290 TraceCheckUtils]: 11: Hoare triple {21552#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {21553#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,467 INFO L290 TraceCheckUtils]: 14: Hoare triple {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,467 INFO L290 TraceCheckUtils]: 15: Hoare triple {21554#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,467 INFO L290 TraceCheckUtils]: 16: Hoare triple {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,468 INFO L290 TraceCheckUtils]: 17: Hoare triple {21555#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {21556#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {21557#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:13,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {21558#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21559#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,470 INFO L290 TraceCheckUtils]: 24: Hoare triple {21559#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,471 INFO L290 TraceCheckUtils]: 26: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:13,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {21560#(and (<= 15 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} #res := ~is_divisible~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:13,473 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21561#(<= 15 |correct_version_#in~w|)} {21500#true} #87#return; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:13,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:13,473 INFO L272 TraceCheckUtils]: 32: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:13,474 INFO L290 TraceCheckUtils]: 33: Hoare triple {21500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {21562#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:13,474 INFO L290 TraceCheckUtils]: 34: Hoare triple {21562#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:13,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:13,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {21563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,475 INFO L290 TraceCheckUtils]: 38: Hoare triple {21564#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,476 INFO L290 TraceCheckUtils]: 39: Hoare triple {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {21565#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:13,476 INFO L290 TraceCheckUtils]: 41: Hoare triple {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:13,477 INFO L290 TraceCheckUtils]: 42: Hoare triple {21566#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,477 INFO L290 TraceCheckUtils]: 43: Hoare triple {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,478 INFO L290 TraceCheckUtils]: 44: Hoare triple {21567#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:13,478 INFO L290 TraceCheckUtils]: 45: Hoare triple {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:13,478 INFO L290 TraceCheckUtils]: 46: Hoare triple {21568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,479 INFO L290 TraceCheckUtils]: 47: Hoare triple {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {21569#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {21570#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:13,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {21570#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !(~i~1 < ~w); {21571#(and (<= student_version_~w 14) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:13,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {21571#(and (<= student_version_~w 14) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {21572#(<= |student_version_#in~w| 14)} #res := ~is_divisible~1; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,480 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:13,481 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21572#(<= |student_version_#in~w| 14)} {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} #89#return; {21501#false} is VALID [2022-04-08 10:34:13,481 INFO L290 TraceCheckUtils]: 54: Hoare triple {21501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {21501#false} is VALID [2022-04-08 10:34:13,481 INFO L272 TraceCheckUtils]: 55: Hoare triple {21501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {21501#false} is VALID [2022-04-08 10:34:13,481 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-08 10:34:13,481 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-08 10:34:13,481 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-08 10:34:13,482 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:13,482 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:13,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1613803655] [2022-04-08 10:34:13,482 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1613803655] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:13,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [843842972] [2022-04-08 10:34:13,482 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:34:13,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:13,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:13,483 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:34:13,484 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-08 10:34:13,556 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:34:13,557 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:13,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 10:34:13,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:13,571 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:14,538 INFO L272 TraceCheckUtils]: 0: Hoare triple {21500#true} call ULTIMATE.init(); {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {21500#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {21500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-08 10:34:14,538 INFO L272 TraceCheckUtils]: 7: Hoare triple {21500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:14,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {21500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {21600#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {21600#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {21604#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,540 INFO L290 TraceCheckUtils]: 10: Hoare triple {21604#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {21604#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {21604#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21611#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {21611#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {21611#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {21611#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21618#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {21618#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {21618#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {21618#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21625#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:14,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {21625#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21625#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:14,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {21625#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {21632#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {21632#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {21632#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {21632#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21639#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:14,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {21639#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21639#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:14,546 INFO L290 TraceCheckUtils]: 21: Hoare triple {21639#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {21646#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {21646#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {21646#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,547 INFO L290 TraceCheckUtils]: 23: Hoare triple {21646#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {21653#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:34:14,547 INFO L290 TraceCheckUtils]: 24: Hoare triple {21653#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume !(~i~0 < ~w); {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} #res := ~is_divisible~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:14,550 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21561#(<= 15 |correct_version_#in~w|)} {21500#true} #87#return; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:14,551 INFO L290 TraceCheckUtils]: 31: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:14,551 INFO L272 TraceCheckUtils]: 32: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:14,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {21500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {21684#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:14,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {21684#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {21688#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:14,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {21688#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {21688#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:14,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {21688#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {21695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:34:14,553 INFO L290 TraceCheckUtils]: 37: Hoare triple {21695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {21695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:34:14,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {21695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {21702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:34:14,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {21702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {21702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:34:14,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {21702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {21709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:14,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {21709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {21709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:14,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {21709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {21716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:34:14,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {21716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {21716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:34:14,556 INFO L290 TraceCheckUtils]: 44: Hoare triple {21716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {21723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:14,556 INFO L290 TraceCheckUtils]: 45: Hoare triple {21723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {21723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:14,557 INFO L290 TraceCheckUtils]: 46: Hoare triple {21723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {21730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:34:14,557 INFO L290 TraceCheckUtils]: 47: Hoare triple {21730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {21730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:34:14,557 INFO L290 TraceCheckUtils]: 48: Hoare triple {21730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {21737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:14,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {21737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !(~i~1 < ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:14,558 INFO L290 TraceCheckUtils]: 50: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume !(~i~1 != ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:14,558 INFO L290 TraceCheckUtils]: 51: Hoare triple {21572#(<= |student_version_#in~w| 14)} #res := ~is_divisible~1; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:14,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:14,559 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21572#(<= |student_version_#in~w| 14)} {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} #89#return; {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L290 TraceCheckUtils]: 54: Hoare triple {21501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L272 TraceCheckUtils]: 55: Hoare triple {21501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-08 10:34:14,560 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:14,560 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:18,102 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-08 10:34:18,102 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-08 10:34:18,102 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-08 10:34:18,102 INFO L272 TraceCheckUtils]: 55: Hoare triple {21501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {21501#false} is VALID [2022-04-08 10:34:18,102 INFO L290 TraceCheckUtils]: 54: Hoare triple {21501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {21501#false} is VALID [2022-04-08 10:34:18,103 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21572#(<= |student_version_#in~w| 14)} {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} #89#return; {21501#false} is VALID [2022-04-08 10:34:18,103 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:18,104 INFO L290 TraceCheckUtils]: 51: Hoare triple {21572#(<= |student_version_#in~w| 14)} #res := ~is_divisible~1; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:18,104 INFO L290 TraceCheckUtils]: 50: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume !(~i~1 != ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:18,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {21798#(or (<= |student_version_#in~w| 14) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-08 10:34:18,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {21802#(or (<= |student_version_#in~w| 14) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {21798#(or (<= |student_version_#in~w| 14) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:34:18,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {21802#(or (<= |student_version_#in~w| 14) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {21802#(or (<= |student_version_#in~w| 14) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,105 INFO L290 TraceCheckUtils]: 46: Hoare triple {21809#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {21802#(or (<= |student_version_#in~w| 14) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {21809#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {21809#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:34:18,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {21816#(or (<= |student_version_#in~w| 14) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {21809#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:34:18,107 INFO L290 TraceCheckUtils]: 43: Hoare triple {21816#(or (<= |student_version_#in~w| 14) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {21816#(or (<= |student_version_#in~w| 14) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,107 INFO L290 TraceCheckUtils]: 42: Hoare triple {21823#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {21816#(or (<= |student_version_#in~w| 14) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,107 INFO L290 TraceCheckUtils]: 41: Hoare triple {21823#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {21823#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:34:18,118 INFO L290 TraceCheckUtils]: 40: Hoare triple {21830#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {21823#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:34:18,118 INFO L290 TraceCheckUtils]: 39: Hoare triple {21830#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {21830#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:34:18,119 INFO L290 TraceCheckUtils]: 38: Hoare triple {21837#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {21830#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:34:18,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {21837#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {21837#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:34:18,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {21844#(or (<= |student_version_#in~w| 14) (< (+ 14 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {21837#(or (<= |student_version_#in~w| 14) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:34:18,120 INFO L290 TraceCheckUtils]: 35: Hoare triple {21844#(or (<= |student_version_#in~w| 14) (< (+ 14 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {21844#(or (<= |student_version_#in~w| 14) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,120 INFO L290 TraceCheckUtils]: 34: Hoare triple {21851#(or (<= |student_version_#in~w| 14) (< 14 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {21844#(or (<= |student_version_#in~w| 14) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:18,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {21500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {21851#(or (<= |student_version_#in~w| 14) (< 14 student_version_~w))} is VALID [2022-04-08 10:34:18,121 INFO L272 TraceCheckUtils]: 32: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:18,121 INFO L290 TraceCheckUtils]: 31: Hoare triple {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:18,122 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21561#(<= 15 |correct_version_#in~w|)} {21500#true} #87#return; {21528#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 15) main_~w~0))} is VALID [2022-04-08 10:34:18,122 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,122 INFO L290 TraceCheckUtils]: 28: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} #res := ~is_divisible~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,123 INFO L290 TraceCheckUtils]: 26: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume !(~i~0 < ~w); {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {21882#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 15 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:18,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {21886#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 15 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {21882#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {21886#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 15 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21886#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,125 INFO L290 TraceCheckUtils]: 21: Hoare triple {21893#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 15 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {21886#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {21893#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 15 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21893#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {21900#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {21893#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {21900#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {21900#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:34:18,126 INFO L290 TraceCheckUtils]: 17: Hoare triple {21907#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 15 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {21900#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:34:18,127 INFO L290 TraceCheckUtils]: 16: Hoare triple {21907#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 15 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {21907#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {21914#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {21907#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {21914#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {21914#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:34:18,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {21921#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {21914#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:34:18,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {21921#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {21921#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:34:18,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {21928#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {21921#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:34:18,129 INFO L290 TraceCheckUtils]: 10: Hoare triple {21928#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {21928#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:34:18,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {21935#(or (<= correct_version_~w 14) (<= 15 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {21928#(or (<= 15 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:34:18,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {21500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {21935#(or (<= correct_version_~w 14) (<= 15 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:18,130 INFO L272 TraceCheckUtils]: 7: Hoare triple {21500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {21500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {21500#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {21500#true} call ULTIMATE.init(); {21500#true} is VALID [2022-04-08 10:34:18,130 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 64 proven. 49 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:18,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [843842972] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:18,131 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:18,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 23, 23] total 62 [2022-04-08 10:34:18,131 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:18,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283171145] [2022-04-08 10:34:18,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283171145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:18,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:18,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-08 10:34:18,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [176038894] [2022-04-08 10:34:18,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:18,132 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 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 59 [2022-04-08 10:34:18,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:18,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:18,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:18,170 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-08 10:34:18,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:18,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-08 10:34:18,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=633, Invalid=3149, Unknown=0, NotChecked=0, Total=3782 [2022-04-08 10:34:18,171 INFO L87 Difference]: Start difference. First operand 71 states and 75 transitions. Second operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:19,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:19,668 INFO L93 Difference]: Finished difference Result 81 states and 84 transitions. [2022-04-08 10:34:19,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 10:34:19,668 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 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 59 [2022-04-08 10:34:19,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:19,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:19,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 76 transitions. [2022-04-08 10:34:19,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:19,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 76 transitions. [2022-04-08 10:34:19,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 76 transitions. [2022-04-08 10:34:19,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:19,751 INFO L225 Difference]: With dead ends: 81 [2022-04-08 10:34:19,751 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 10:34:19,751 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 81 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2828 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=1094, Invalid=5712, Unknown=0, NotChecked=0, Total=6806 [2022-04-08 10:34:19,752 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 72 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 516 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 544 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 516 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:19,752 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 85 Invalid, 544 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 516 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:34:19,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 10:34:20,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2022-04-08 10:34:20,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:20,217 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:20,217 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:20,217 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:20,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:20,218 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-08 10:34:20,218 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-08 10:34:20,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:20,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:20,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:34:20,219 INFO L87 Difference]: Start difference. First operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 71 states. [2022-04-08 10:34:20,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:20,220 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-08 10:34:20,220 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-08 10:34:20,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:20,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:20,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:20,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:20,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 58 states have (on average 1.0689655172413792) internal successors, (62), 60 states have internal predecessors, (62), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:20,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 73 transitions. [2022-04-08 10:34:20,222 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 73 transitions. Word has length 59 [2022-04-08 10:34:20,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:20,222 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 73 transitions. [2022-04-08 10:34:20,222 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 25 states have internal predecessors, (51), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:20,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 73 transitions. [2022-04-08 10:34:20,332 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-08 10:34:20,332 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 73 transitions. [2022-04-08 10:34:20,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 10:34:20,333 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:20,333 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 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] [2022-04-08 10:34:20,355 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Ended with exit code 0 [2022-04-08 10:34:20,547 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:20,547 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:20,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:20,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1157284105, now seen corresponding path program 27 times [2022-04-08 10:34:20,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:20,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [890893590] [2022-04-08 10:34:20,550 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:20,550 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:20,550 INFO L85 PathProgramCache]: Analyzing trace with hash -1157284105, now seen corresponding path program 28 times [2022-04-08 10:34:20,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:20,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852109794] [2022-04-08 10:34:20,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:20,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:20,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:20,592 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:20,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:20,595 INFO L290 TraceCheckUtils]: 0: Hoare triple {22500#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {22448#true} is VALID [2022-04-08 10:34:20,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-08 10:34:20,596 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-08 10:34:20,596 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:20,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:20,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {22448#true} ~w := #in~w;~is_divisible~0 := ~true~0; {22501#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:20,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {22501#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,762 INFO L290 TraceCheckUtils]: 3: Hoare triple {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,763 INFO L290 TraceCheckUtils]: 4: Hoare triple {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,764 INFO L290 TraceCheckUtils]: 6: Hoare triple {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:20,766 INFO L290 TraceCheckUtils]: 10: Hoare triple {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:20,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,767 INFO L290 TraceCheckUtils]: 12: Hoare triple {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,768 INFO L290 TraceCheckUtils]: 15: Hoare triple {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:20,768 INFO L290 TraceCheckUtils]: 16: Hoare triple {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:20,769 INFO L290 TraceCheckUtils]: 17: Hoare triple {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {22510#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {22510#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {22511#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {22511#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {22512#(<= |correct_version_#in~w| 15)} #res := ~is_divisible~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,772 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22512#(<= |correct_version_#in~w| 15)} {22448#true} #87#return; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:20,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-08 10:34:20,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:20,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {22448#true} ~w := #in~w;~is_divisible~1 := ~true~0; {22513#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:20,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {22513#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,947 INFO L290 TraceCheckUtils]: 3: Hoare triple {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,947 INFO L290 TraceCheckUtils]: 4: Hoare triple {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:20,948 INFO L290 TraceCheckUtils]: 6: Hoare triple {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:20,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:20,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:20,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:20,950 INFO L290 TraceCheckUtils]: 10: Hoare triple {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:20,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:20,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:20,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,953 INFO L290 TraceCheckUtils]: 17: Hoare triple {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {22523#(<= 16 |student_version_#in~w|)} #res := ~is_divisible~1; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,956 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22523#(<= 16 |student_version_#in~w|)} {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {22449#false} is VALID [2022-04-08 10:34:20,956 INFO L272 TraceCheckUtils]: 0: Hoare triple {22448#true} call ULTIMATE.init(); {22500#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:34:20,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {22500#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {22448#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L272 TraceCheckUtils]: 7: Hoare triple {22448#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:20,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {22448#true} ~w := #in~w;~is_divisible~0 := ~true~0; {22501#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:20,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {22501#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,958 INFO L290 TraceCheckUtils]: 10: Hoare triple {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {22502#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,960 INFO L290 TraceCheckUtils]: 13: Hoare triple {22503#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {22504#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,961 INFO L290 TraceCheckUtils]: 16: Hoare triple {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {22505#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:20,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:20,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {22506#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,963 INFO L290 TraceCheckUtils]: 21: Hoare triple {22507#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,964 INFO L290 TraceCheckUtils]: 22: Hoare triple {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,964 INFO L290 TraceCheckUtils]: 23: Hoare triple {22508#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:20,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:20,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {22509#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {22510#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {22510#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {22511#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:20,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {22511#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 16)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,966 INFO L290 TraceCheckUtils]: 28: Hoare triple {22512#(<= |correct_version_#in~w| 15)} #res := ~is_divisible~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,967 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:20,968 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22512#(<= |correct_version_#in~w| 15)} {22448#true} #87#return; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:20,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:20,968 INFO L272 TraceCheckUtils]: 32: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:20,969 INFO L290 TraceCheckUtils]: 33: Hoare triple {22448#true} ~w := #in~w;~is_divisible~1 := ~true~0; {22513#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:20,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {22513#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {22514#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {22515#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:20,971 INFO L290 TraceCheckUtils]: 39: Hoare triple {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:20,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {22516#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:20,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:20,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {22517#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:20,973 INFO L290 TraceCheckUtils]: 43: Hoare triple {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:20,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {22518#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,974 INFO L290 TraceCheckUtils]: 45: Hoare triple {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,975 INFO L290 TraceCheckUtils]: 46: Hoare triple {22519#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:20,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:20,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {22520#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,976 INFO L290 TraceCheckUtils]: 50: Hoare triple {22521#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,977 INFO L290 TraceCheckUtils]: 51: Hoare triple {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:20,977 INFO L290 TraceCheckUtils]: 52: Hoare triple {22522#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,978 INFO L290 TraceCheckUtils]: 53: Hoare triple {22523#(<= 16 |student_version_#in~w|)} #res := ~is_divisible~1; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,978 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:20,979 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22523#(<= 16 |student_version_#in~w|)} {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {22449#false} is VALID [2022-04-08 10:34:20,979 INFO L290 TraceCheckUtils]: 56: Hoare triple {22449#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {22449#false} is VALID [2022-04-08 10:34:20,979 INFO L272 TraceCheckUtils]: 57: Hoare triple {22449#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {22449#false} is VALID [2022-04-08 10:34:20,979 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-08 10:34:20,979 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-08 10:34:20,980 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-08 10:34:20,980 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:20,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:20,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852109794] [2022-04-08 10:34:20,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [852109794] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:20,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928576251] [2022-04-08 10:34:20,980 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:34:20,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:20,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:20,983 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:34:20,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-08 10:34:21,098 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:34:21,098 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:21,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 10:34:21,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:21,115 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:22,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {22448#true} call ULTIMATE.init(); {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {22448#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {22448#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-08 10:34:22,070 INFO L272 TraceCheckUtils]: 7: Hoare triple {22448#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:22,071 INFO L290 TraceCheckUtils]: 8: Hoare triple {22448#true} ~w := #in~w;~is_divisible~0 := ~true~0; {22551#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:22,071 INFO L290 TraceCheckUtils]: 9: Hoare triple {22551#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {22555#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:22,071 INFO L290 TraceCheckUtils]: 10: Hoare triple {22555#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {22555#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:22,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {22555#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {22562#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:22,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {22562#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {22562#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:22,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {22562#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {22569#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:22,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {22569#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {22569#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:22,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {22569#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {22576#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:22,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {22576#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {22576#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:22,074 INFO L290 TraceCheckUtils]: 17: Hoare triple {22576#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {22583#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:22,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {22583#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {22583#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:22,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {22583#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {22590#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:22,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {22590#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {22590#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:22,076 INFO L290 TraceCheckUtils]: 21: Hoare triple {22590#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {22597#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:22,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {22597#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {22597#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:22,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {22597#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {22604#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:22,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {22604#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {22604#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:22,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {22604#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {22611#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:34:22,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {22611#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !(~i~0 < ~w); {22615#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:34:22,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {22615#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 16))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:22,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {22512#(<= |correct_version_#in~w| 15)} #res := ~is_divisible~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:22,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:22,079 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22512#(<= |correct_version_#in~w| 15)} {22448#true} #87#return; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:22,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:22,080 INFO L272 TraceCheckUtils]: 32: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:22,080 INFO L290 TraceCheckUtils]: 33: Hoare triple {22448#true} ~w := #in~w;~is_divisible~1 := ~true~0; {22637#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:34:22,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {22637#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {22641#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {22641#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22641#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {22641#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22648#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,081 INFO L290 TraceCheckUtils]: 37: Hoare triple {22648#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22648#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,082 INFO L290 TraceCheckUtils]: 38: Hoare triple {22648#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22655#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:22,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {22655#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {22655#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:22,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {22655#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {22662#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {22662#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22662#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {22662#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22669#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {22669#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22669#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {22669#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22676#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,085 INFO L290 TraceCheckUtils]: 45: Hoare triple {22676#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22676#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,085 INFO L290 TraceCheckUtils]: 46: Hoare triple {22676#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22683#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,085 INFO L290 TraceCheckUtils]: 47: Hoare triple {22683#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22683#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,086 INFO L290 TraceCheckUtils]: 48: Hoare triple {22683#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22690#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,086 INFO L290 TraceCheckUtils]: 49: Hoare triple {22690#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {22690#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,086 INFO L290 TraceCheckUtils]: 50: Hoare triple {22690#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22697#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,087 INFO L290 TraceCheckUtils]: 51: Hoare triple {22697#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {22697#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:22,087 INFO L290 TraceCheckUtils]: 52: Hoare triple {22697#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:22,087 INFO L290 TraceCheckUtils]: 53: Hoare triple {22523#(<= 16 |student_version_#in~w|)} #res := ~is_divisible~1; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:22,088 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:22,088 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22523#(<= 16 |student_version_#in~w|)} {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L290 TraceCheckUtils]: 56: Hoare triple {22449#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L272 TraceCheckUtils]: 57: Hoare triple {22449#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-08 10:34:22,089 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:22,089 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:33,079 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-08 10:34:33,079 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-08 10:34:33,080 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-08 10:34:33,080 INFO L272 TraceCheckUtils]: 57: Hoare triple {22449#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {22449#false} is VALID [2022-04-08 10:34:33,080 INFO L290 TraceCheckUtils]: 56: Hoare triple {22449#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {22449#false} is VALID [2022-04-08 10:34:33,081 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22523#(<= 16 |student_version_#in~w|)} {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {22449#false} is VALID [2022-04-08 10:34:33,081 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:33,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {22523#(<= 16 |student_version_#in~w|)} #res := ~is_divisible~1; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:33,081 INFO L290 TraceCheckUtils]: 52: Hoare triple {22755#(or (<= 16 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-08 10:34:33,082 INFO L290 TraceCheckUtils]: 51: Hoare triple {22755#(or (<= 16 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {22755#(or (<= 16 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:34:33,082 INFO L290 TraceCheckUtils]: 50: Hoare triple {22762#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {22755#(or (<= 16 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:34:33,083 INFO L290 TraceCheckUtils]: 49: Hoare triple {22762#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {22762#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:33,083 INFO L290 TraceCheckUtils]: 48: Hoare triple {22769#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 16 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22762#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:33,083 INFO L290 TraceCheckUtils]: 47: Hoare triple {22769#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 16 |student_version_#in~w|))} assume !!(~i~1 < ~w); {22769#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,084 INFO L290 TraceCheckUtils]: 46: Hoare triple {22776#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 16 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22769#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,084 INFO L290 TraceCheckUtils]: 45: Hoare triple {22776#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 16 |student_version_#in~w|))} assume !!(~i~1 < ~w); {22776#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {22783#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {22776#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,085 INFO L290 TraceCheckUtils]: 43: Hoare triple {22783#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {22783#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:33,085 INFO L290 TraceCheckUtils]: 42: Hoare triple {22790#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 16 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22783#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:33,086 INFO L290 TraceCheckUtils]: 41: Hoare triple {22790#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 16 |student_version_#in~w|))} assume !!(~i~1 < ~w); {22790#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,086 INFO L290 TraceCheckUtils]: 40: Hoare triple {22797#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {22790#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,086 INFO L290 TraceCheckUtils]: 39: Hoare triple {22797#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {22797#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:33,087 INFO L290 TraceCheckUtils]: 38: Hoare triple {22804#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 16 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {22797#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:33,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {22804#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 16 |student_version_#in~w|))} assume !!(~i~1 < ~w); {22804#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,088 INFO L290 TraceCheckUtils]: 36: Hoare triple {22811#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {22804#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,088 INFO L290 TraceCheckUtils]: 35: Hoare triple {22811#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {22811#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:34:33,088 INFO L290 TraceCheckUtils]: 34: Hoare triple {22818#(or (< student_version_~w 16) (<= 16 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {22811#(or (<= 16 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:34:33,089 INFO L290 TraceCheckUtils]: 33: Hoare triple {22448#true} ~w := #in~w;~is_divisible~1 := ~true~0; {22818#(or (< student_version_~w 16) (<= 16 |student_version_#in~w|))} is VALID [2022-04-08 10:34:33,089 INFO L272 TraceCheckUtils]: 32: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:33,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:33,090 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {22512#(<= |correct_version_#in~w| 15)} {22448#true} #87#return; {22476#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 15)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:34:33,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:33,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {22512#(<= |correct_version_#in~w| 15)} #res := ~is_divisible~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:33,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {22840#(or (<= |correct_version_#in~w| 15) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-08 10:34:33,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {22844#(or (<= |correct_version_#in~w| 15) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {22840#(or (<= |correct_version_#in~w| 15) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:34:33,092 INFO L290 TraceCheckUtils]: 25: Hoare triple {22848#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {22844#(or (<= |correct_version_#in~w| 15) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:34:33,092 INFO L290 TraceCheckUtils]: 24: Hoare triple {22848#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {22848#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:33,092 INFO L290 TraceCheckUtils]: 23: Hoare triple {22855#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {22848#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:33,093 INFO L290 TraceCheckUtils]: 22: Hoare triple {22855#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {22855#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:33,093 INFO L290 TraceCheckUtils]: 21: Hoare triple {22862#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {22855#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:33,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {22862#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {22862#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:34:33,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {22869#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {22862#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:34:33,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {22869#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {22869#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:33,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {22876#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {22869#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:33,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {22876#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {22876#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:34:33,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {22883#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {22876#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:34:33,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {22883#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {22883#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:34:33,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {22890#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {22883#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:34:33,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {22890#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {22890#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:33,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {22897#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {22890#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:33,107 INFO L290 TraceCheckUtils]: 10: Hoare triple {22897#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {22897#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:34:33,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {22904#(or (<= |correct_version_#in~w| 15) (<= 16 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {22897#(or (<= |correct_version_#in~w| 15) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:34:33,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {22448#true} ~w := #in~w;~is_divisible~0 := ~true~0; {22904#(or (<= |correct_version_#in~w| 15) (<= 16 correct_version_~w))} is VALID [2022-04-08 10:34:33,107 INFO L272 TraceCheckUtils]: 7: Hoare triple {22448#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {22448#true} is VALID [2022-04-08 10:34:33,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {22448#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {22448#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {22448#true} call ULTIMATE.init(); {22448#true} is VALID [2022-04-08 10:34:33,108 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:33,108 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928576251] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:33,108 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:33,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 69 [2022-04-08 10:34:33,109 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:33,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [890893590] [2022-04-08 10:34:33,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [890893590] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:33,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:33,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:34:33,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1288327784] [2022-04-08 10:34:33,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:33,109 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 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 61 [2022-04-08 10:34:33,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:33,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:33,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:33,149 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:34:33,149 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:33,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:34:33,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=749, Invalid=3943, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 10:34:33,150 INFO L87 Difference]: Start difference. First operand 70 states and 73 transitions. Second operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:34,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:34,879 INFO L93 Difference]: Finished difference Result 90 states and 97 transitions. [2022-04-08 10:34:34,879 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-08 10:34:34,880 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 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 61 [2022-04-08 10:34:34,880 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:34,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:34,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 92 transitions. [2022-04-08 10:34:34,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:34,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 92 transitions. [2022-04-08 10:34:34,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 92 transitions. [2022-04-08 10:34:34,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:34,954 INFO L225 Difference]: With dead ends: 90 [2022-04-08 10:34:34,954 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 10:34:34,955 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 79 SyntacticMatches, 5 SemanticMatches, 91 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3572 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=1312, Invalid=7244, Unknown=0, NotChecked=0, Total=8556 [2022-04-08 10:34:34,955 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 84 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 511 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 545 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 511 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:34,955 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [88 Valid, 72 Invalid, 545 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 511 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:34:34,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 10:34:35,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-08 10:34:35,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:35,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:35,371 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:35,371 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:35,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:35,372 INFO L93 Difference]: Finished difference Result 79 states and 85 transitions. [2022-04-08 10:34:35,372 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-08 10:34:35,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:35,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:35,373 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:34:35,373 INFO L87 Difference]: Start difference. First operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:34:35,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:35,374 INFO L93 Difference]: Finished difference Result 79 states and 85 transitions. [2022-04-08 10:34:35,374 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-08 10:34:35,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:35,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:35,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:35,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:35,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 63 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:35,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 77 transitions. [2022-04-08 10:34:35,376 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 77 transitions. Word has length 61 [2022-04-08 10:34:35,376 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:35,376 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 77 transitions. [2022-04-08 10:34:35,376 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:35,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 77 transitions. [2022-04-08 10:34:35,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:35,495 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-04-08 10:34:35,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 10:34:35,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:35,495 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 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] [2022-04-08 10:34:35,536 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-08 10:34:35,696 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:35,696 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:35,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:35,696 INFO L85 PathProgramCache]: Analyzing trace with hash 213641523, now seen corresponding path program 27 times [2022-04-08 10:34:35,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:35,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [23272493] [2022-04-08 10:34:35,699 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:35,699 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:35,699 INFO L85 PathProgramCache]: Analyzing trace with hash 213641523, now seen corresponding path program 28 times [2022-04-08 10:34:35,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:35,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1899805872] [2022-04-08 10:34:35,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:35,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:35,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:35,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:35,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:35,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {23515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {23463#true} is VALID [2022-04-08 10:34:35,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-08 10:34:35,759 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-08 10:34:35,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:35,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:35,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {23463#true} ~w := #in~w;~is_divisible~0 := ~true~0; {23516#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:35,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {23516#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,910 INFO L290 TraceCheckUtils]: 4: Hoare triple {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,911 INFO L290 TraceCheckUtils]: 6: Hoare triple {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,913 INFO L290 TraceCheckUtils]: 10: Hoare triple {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,913 INFO L290 TraceCheckUtils]: 11: Hoare triple {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,914 INFO L290 TraceCheckUtils]: 14: Hoare triple {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,915 INFO L290 TraceCheckUtils]: 15: Hoare triple {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,916 INFO L290 TraceCheckUtils]: 16: Hoare triple {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:35,916 INFO L290 TraceCheckUtils]: 17: Hoare triple {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !(~i~0 < ~w); {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:35,917 INFO L290 TraceCheckUtils]: 19: Hoare triple {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !(~i~0 != ~w); {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:35,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} #res := ~is_divisible~0; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:35,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:35,919 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {23526#(<= 16 |correct_version_#in~w|)} {23463#true} #87#return; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:35,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-08 10:34:35,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:36,155 INFO L290 TraceCheckUtils]: 0: Hoare triple {23463#true} ~w := #in~w;~is_divisible~1 := ~true~0; {23527#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:36,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {23527#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:36,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:36,156 INFO L290 TraceCheckUtils]: 3: Hoare triple {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,157 INFO L290 TraceCheckUtils]: 4: Hoare triple {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,157 INFO L290 TraceCheckUtils]: 5: Hoare triple {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,158 INFO L290 TraceCheckUtils]: 7: Hoare triple {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:36,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:36,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,160 INFO L290 TraceCheckUtils]: 10: Hoare triple {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:36,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:36,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:36,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:36,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {23536#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {23536#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {23537#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:34:36,164 INFO L290 TraceCheckUtils]: 19: Hoare triple {23537#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {23538#(<= |student_version_#in~w| 15)} #res := ~is_divisible~1; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,165 INFO L290 TraceCheckUtils]: 21: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,166 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {23538#(<= |student_version_#in~w| 15)} {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} #89#return; {23464#false} is VALID [2022-04-08 10:34:36,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {23463#true} call ULTIMATE.init(); {23515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:34:36,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {23515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {23463#true} is VALID [2022-04-08 10:34:36,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-08 10:34:36,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-08 10:34:36,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-08 10:34:36,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {23463#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {23463#true} is VALID [2022-04-08 10:34:36,168 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-08 10:34:36,168 INFO L272 TraceCheckUtils]: 7: Hoare triple {23463#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:36,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {23463#true} ~w := #in~w;~is_divisible~0 := ~true~0; {23516#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:36,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {23516#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,169 INFO L290 TraceCheckUtils]: 10: Hoare triple {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {23517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {23518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {23519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,172 INFO L290 TraceCheckUtils]: 16: Hoare triple {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,172 INFO L290 TraceCheckUtils]: 17: Hoare triple {23520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {23521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {23522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {23523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:36,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {23524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !(~i~0 < ~w); {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:36,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {23525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !(~i~0 != ~w); {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:36,177 INFO L290 TraceCheckUtils]: 28: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} #res := ~is_divisible~0; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:36,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:36,179 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23526#(<= 16 |correct_version_#in~w|)} {23463#true} #87#return; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:36,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:36,180 INFO L272 TraceCheckUtils]: 32: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:36,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {23463#true} ~w := #in~w;~is_divisible~1 := ~true~0; {23527#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:36,180 INFO L290 TraceCheckUtils]: 34: Hoare triple {23527#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:36,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:36,181 INFO L290 TraceCheckUtils]: 36: Hoare triple {23528#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,182 INFO L290 TraceCheckUtils]: 37: Hoare triple {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,182 INFO L290 TraceCheckUtils]: 38: Hoare triple {23529#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,183 INFO L290 TraceCheckUtils]: 39: Hoare triple {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,183 INFO L290 TraceCheckUtils]: 40: Hoare triple {23530#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:36,184 INFO L290 TraceCheckUtils]: 41: Hoare triple {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:36,184 INFO L290 TraceCheckUtils]: 42: Hoare triple {23531#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,185 INFO L290 TraceCheckUtils]: 43: Hoare triple {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,185 INFO L290 TraceCheckUtils]: 44: Hoare triple {23532#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:36,185 INFO L290 TraceCheckUtils]: 45: Hoare triple {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:36,186 INFO L290 TraceCheckUtils]: 46: Hoare triple {23533#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,187 INFO L290 TraceCheckUtils]: 48: Hoare triple {23534#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:36,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:36,188 INFO L290 TraceCheckUtils]: 50: Hoare triple {23535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {23536#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:36,188 INFO L290 TraceCheckUtils]: 51: Hoare triple {23536#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {23537#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:34:36,189 INFO L290 TraceCheckUtils]: 52: Hoare triple {23537#(and (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 16)) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,189 INFO L290 TraceCheckUtils]: 53: Hoare triple {23538#(<= |student_version_#in~w| 15)} #res := ~is_divisible~1; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,190 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:36,191 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23538#(<= |student_version_#in~w| 15)} {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} #89#return; {23464#false} is VALID [2022-04-08 10:34:36,191 INFO L290 TraceCheckUtils]: 56: Hoare triple {23464#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {23464#false} is VALID [2022-04-08 10:34:36,191 INFO L272 TraceCheckUtils]: 57: Hoare triple {23464#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {23464#false} is VALID [2022-04-08 10:34:36,191 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-08 10:34:36,191 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-08 10:34:36,191 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-08 10:34:36,192 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:36,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:36,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1899805872] [2022-04-08 10:34:36,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1899805872] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:36,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [817553827] [2022-04-08 10:34:36,192 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:34:36,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:36,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:36,196 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:34:36,197 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-08 10:34:36,283 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:34:36,284 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:36,285 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 10:34:36,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:36,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:37,450 INFO L272 TraceCheckUtils]: 0: Hoare triple {23463#true} call ULTIMATE.init(); {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {23463#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {23463#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-08 10:34:37,450 INFO L272 TraceCheckUtils]: 7: Hoare triple {23463#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:37,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {23463#true} ~w := #in~w;~is_divisible~0 := ~true~0; {23566#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:34:37,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {23566#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {23570#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,451 INFO L290 TraceCheckUtils]: 10: Hoare triple {23570#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {23570#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,452 INFO L290 TraceCheckUtils]: 11: Hoare triple {23570#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23577#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {23577#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {23577#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {23577#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23584#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,453 INFO L290 TraceCheckUtils]: 14: Hoare triple {23584#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {23584#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {23584#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23591#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:37,454 INFO L290 TraceCheckUtils]: 16: Hoare triple {23591#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {23591#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:37,454 INFO L290 TraceCheckUtils]: 17: Hoare triple {23591#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {23598#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {23598#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {23598#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {23598#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23605#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:37,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {23605#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {23605#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:34:37,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {23605#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {23612#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {23612#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {23612#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,456 INFO L290 TraceCheckUtils]: 23: Hoare triple {23612#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23619#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {23619#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {23619#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {23619#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {23626#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {23626#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !(~i~0 < ~w); {23626#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:34:37,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {23626#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !(~i~0 != ~w); {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:37,458 INFO L290 TraceCheckUtils]: 28: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} #res := ~is_divisible~0; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:37,458 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:37,459 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23526#(<= 16 |correct_version_#in~w|)} {23463#true} #87#return; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:37,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:37,460 INFO L272 TraceCheckUtils]: 32: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:37,460 INFO L290 TraceCheckUtils]: 33: Hoare triple {23463#true} ~w := #in~w;~is_divisible~1 := ~true~0; {23651#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:37,461 INFO L290 TraceCheckUtils]: 34: Hoare triple {23651#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {23655#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:37,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {23655#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {23655#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:34:37,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {23655#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {23662#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:34:37,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {23662#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {23662#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:34:37,462 INFO L290 TraceCheckUtils]: 38: Hoare triple {23662#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {23669#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:34:37,462 INFO L290 TraceCheckUtils]: 39: Hoare triple {23669#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {23669#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:34:37,463 INFO L290 TraceCheckUtils]: 40: Hoare triple {23669#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {23676#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:37,463 INFO L290 TraceCheckUtils]: 41: Hoare triple {23676#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {23676#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:34:37,464 INFO L290 TraceCheckUtils]: 42: Hoare triple {23676#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {23683#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:34:37,464 INFO L290 TraceCheckUtils]: 43: Hoare triple {23683#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {23683#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:34:37,464 INFO L290 TraceCheckUtils]: 44: Hoare triple {23683#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {23690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:37,465 INFO L290 TraceCheckUtils]: 45: Hoare triple {23690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {23690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:34:37,465 INFO L290 TraceCheckUtils]: 46: Hoare triple {23690#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {23697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:34:37,466 INFO L290 TraceCheckUtils]: 47: Hoare triple {23697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {23697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:34:37,466 INFO L290 TraceCheckUtils]: 48: Hoare triple {23697#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {23704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:37,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {23704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {23704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:34:37,467 INFO L290 TraceCheckUtils]: 50: Hoare triple {23704#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {23711#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:34:37,467 INFO L290 TraceCheckUtils]: 51: Hoare triple {23711#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !(~i~1 < ~w); {23715#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:34:37,468 INFO L290 TraceCheckUtils]: 52: Hoare triple {23715#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 16))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:37,468 INFO L290 TraceCheckUtils]: 53: Hoare triple {23538#(<= |student_version_#in~w| 15)} #res := ~is_divisible~1; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:37,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:37,469 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23538#(<= |student_version_#in~w| 15)} {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} #89#return; {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L290 TraceCheckUtils]: 56: Hoare triple {23464#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L272 TraceCheckUtils]: 57: Hoare triple {23464#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-08 10:34:37,469 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:37,469 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:50,088 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-08 10:34:50,088 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-08 10:34:50,088 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-08 10:34:50,088 INFO L272 TraceCheckUtils]: 57: Hoare triple {23464#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {23464#false} is VALID [2022-04-08 10:34:50,088 INFO L290 TraceCheckUtils]: 56: Hoare triple {23464#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {23464#false} is VALID [2022-04-08 10:34:50,089 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23538#(<= |student_version_#in~w| 15)} {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} #89#return; {23464#false} is VALID [2022-04-08 10:34:50,089 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:50,089 INFO L290 TraceCheckUtils]: 53: Hoare triple {23538#(<= |student_version_#in~w| 15)} #res := ~is_divisible~1; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:50,090 INFO L290 TraceCheckUtils]: 52: Hoare triple {23770#(or (<= |student_version_#in~w| 15) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-08 10:34:50,090 INFO L290 TraceCheckUtils]: 51: Hoare triple {23774#(or (<= |student_version_#in~w| 15) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {23770#(or (<= |student_version_#in~w| 15) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:34:50,091 INFO L290 TraceCheckUtils]: 50: Hoare triple {23778#(or (<= |student_version_#in~w| 15) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {23774#(or (<= |student_version_#in~w| 15) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:34:50,091 INFO L290 TraceCheckUtils]: 49: Hoare triple {23778#(or (<= |student_version_#in~w| 15) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {23778#(or (<= |student_version_#in~w| 15) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:50,091 INFO L290 TraceCheckUtils]: 48: Hoare triple {23785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23778#(or (<= |student_version_#in~w| 15) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:50,092 INFO L290 TraceCheckUtils]: 47: Hoare triple {23785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,092 INFO L290 TraceCheckUtils]: 46: Hoare triple {23792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23785#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,093 INFO L290 TraceCheckUtils]: 45: Hoare triple {23792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {23799#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23792#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,093 INFO L290 TraceCheckUtils]: 43: Hoare triple {23799#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23799#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,094 INFO L290 TraceCheckUtils]: 42: Hoare triple {23806#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23799#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,094 INFO L290 TraceCheckUtils]: 41: Hoare triple {23806#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23806#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {23813#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23806#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,095 INFO L290 TraceCheckUtils]: 39: Hoare triple {23813#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23813#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,095 INFO L290 TraceCheckUtils]: 38: Hoare triple {23820#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} ~i~1 := 2 + ~i~1; {23813#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,096 INFO L290 TraceCheckUtils]: 37: Hoare triple {23820#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} assume !!(~i~1 < ~w); {23820#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {23827#(or (<= |student_version_#in~w| 15) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {23820#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 15))} is VALID [2022-04-08 10:34:50,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {23827#(or (<= |student_version_#in~w| 15) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {23827#(or (<= |student_version_#in~w| 15) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:50,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {23834#(or (<= |student_version_#in~w| 15) (<= 16 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {23827#(or (<= |student_version_#in~w| 15) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:34:50,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {23463#true} ~w := #in~w;~is_divisible~1 := ~true~0; {23834#(or (<= |student_version_#in~w| 15) (<= 16 student_version_~w))} is VALID [2022-04-08 10:34:50,097 INFO L272 TraceCheckUtils]: 32: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:50,098 INFO L290 TraceCheckUtils]: 31: Hoare triple {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:50,098 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23526#(<= 16 |correct_version_#in~w|)} {23463#true} #87#return; {23491#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 16) main_~w~0))} is VALID [2022-04-08 10:34:50,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:50,099 INFO L290 TraceCheckUtils]: 28: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} #res := ~is_divisible~0; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:50,099 INFO L290 TraceCheckUtils]: 27: Hoare triple {23856#(or (<= 16 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-08 10:34:50,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {23856#(or (<= 16 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {23856#(or (<= 16 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:34:50,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {23863#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 16 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {23856#(or (<= 16 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:34:50,100 INFO L290 TraceCheckUtils]: 24: Hoare triple {23863#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 16 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {23863#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {23870#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {23863#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,101 INFO L290 TraceCheckUtils]: 22: Hoare triple {23870#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {23870#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:34:50,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {23877#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {23870#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:34:50,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {23877#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {23877#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:34:50,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {23884#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 16 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {23877#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:34:50,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {23884#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 16 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {23884#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {23891#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 16 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {23884#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,104 INFO L290 TraceCheckUtils]: 16: Hoare triple {23891#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 16 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {23891#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,104 INFO L290 TraceCheckUtils]: 15: Hoare triple {23898#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {23891#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 16 |correct_version_#in~w|))} is VALID [2022-04-08 10:34:50,104 INFO L290 TraceCheckUtils]: 14: Hoare triple {23898#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {23898#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:34:50,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {23905#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {23898#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:34:50,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {23905#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {23905#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:34:50,105 INFO L290 TraceCheckUtils]: 11: Hoare triple {23912#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {23905#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:34:50,106 INFO L290 TraceCheckUtils]: 10: Hoare triple {23912#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {23912#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:34:50,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {23919#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w 16))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {23912#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:34:50,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {23463#true} ~w := #in~w;~is_divisible~0 := ~true~0; {23919#(or (<= 16 |correct_version_#in~w|) (< correct_version_~w 16))} is VALID [2022-04-08 10:34:50,107 INFO L272 TraceCheckUtils]: 7: Hoare triple {23463#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {23463#true} is VALID [2022-04-08 10:34:50,114 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-08 10:34:50,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {23463#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {23463#true} is VALID [2022-04-08 10:34:50,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-08 10:34:50,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-08 10:34:50,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-08 10:34:50,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {23463#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {23463#true} is VALID [2022-04-08 10:34:50,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {23463#true} call ULTIMATE.init(); {23463#true} is VALID [2022-04-08 10:34:50,115 INFO L134 CoverageAnalysis]: Checked inductivity of 128 backedges. 64 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:50,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [817553827] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:50,115 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:50,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 69 [2022-04-08 10:34:50,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:50,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [23272493] [2022-04-08 10:34:50,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [23272493] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:50,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:50,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-08 10:34:50,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1436758242] [2022-04-08 10:34:50,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:50,116 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 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 61 [2022-04-08 10:34:50,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:50,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:50,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:50,157 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-08 10:34:50,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:50,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-08 10:34:50,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=749, Invalid=3943, Unknown=0, NotChecked=0, Total=4692 [2022-04-08 10:34:50,158 INFO L87 Difference]: Start difference. First operand 73 states and 77 transitions. Second operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:51,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:51,818 INFO L93 Difference]: Finished difference Result 85 states and 90 transitions. [2022-04-08 10:34:51,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-08 10:34:51,819 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 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 61 [2022-04-08 10:34:51,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:51,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:51,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 85 transitions. [2022-04-08 10:34:51,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:51,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 85 transitions. [2022-04-08 10:34:51,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 85 transitions. [2022-04-08 10:34:51,909 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-08 10:34:51,910 INFO L225 Difference]: With dead ends: 85 [2022-04-08 10:34:51,911 INFO L226 Difference]: Without dead ends: 76 [2022-04-08 10:34:51,911 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 79 SyntacticMatches, 5 SemanticMatches, 91 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3581 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=1312, Invalid=7244, Unknown=0, NotChecked=0, Total=8556 [2022-04-08 10:34:51,912 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 80 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 509 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 473 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:34:51,912 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 70 Invalid, 509 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 473 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:34:51,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-08 10:34:52,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-08 10:34:52,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:34:52,489 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:52,489 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:52,489 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:52,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:52,490 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-04-08 10:34:52,490 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-08 10:34:52,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:52,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:52,490 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 76 states. [2022-04-08 10:34:52,490 INFO L87 Difference]: Start difference. First operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 76 states. [2022-04-08 10:34:52,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:52,491 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-04-08 10:34:52,492 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-08 10:34:52,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:34:52,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:34:52,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:34:52,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:34:52,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 64 states have (on average 1.09375) internal successors, (70), 66 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:34:52,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 81 transitions. [2022-04-08 10:34:52,493 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 81 transitions. Word has length 61 [2022-04-08 10:34:52,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:34:52,493 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 81 transitions. [2022-04-08 10:34:52,494 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.962962962962963) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:52,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 81 transitions. [2022-04-08 10:34:52,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:52,615 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-08 10:34:52,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 10:34:52,615 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:34:52,616 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 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] [2022-04-08 10:34:52,634 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-08 10:34:52,819 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable33 [2022-04-08 10:34:52,819 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:34:52,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:34:52,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1718819637, now seen corresponding path program 29 times [2022-04-08 10:34:52,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:52,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2033711683] [2022-04-08 10:34:52,822 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:34:52,822 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:34:52,822 INFO L85 PathProgramCache]: Analyzing trace with hash 1718819637, now seen corresponding path program 30 times [2022-04-08 10:34:52,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:34:52,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229513718] [2022-04-08 10:34:52,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:34:52,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:34:52,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:52,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:34:52,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:52,882 INFO L290 TraceCheckUtils]: 0: Hoare triple {24522#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {24468#true} is VALID [2022-04-08 10:34:52,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-08 10:34:52,882 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-08 10:34:52,882 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:34:52,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:53,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {24468#true} ~w := #in~w;~is_divisible~0 := ~true~0; {24523#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:53,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {24523#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,034 INFO L290 TraceCheckUtils]: 3: Hoare triple {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,034 INFO L290 TraceCheckUtils]: 4: Hoare triple {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,035 INFO L290 TraceCheckUtils]: 6: Hoare triple {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:53,037 INFO L290 TraceCheckUtils]: 10: Hoare triple {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:53,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,038 INFO L290 TraceCheckUtils]: 12: Hoare triple {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,039 INFO L290 TraceCheckUtils]: 15: Hoare triple {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:53,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:53,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {24532#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {24532#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {24533#(and (<= correct_version_~w 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {24533#(and (<= correct_version_~w 16) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {24534#(<= |correct_version_#in~w| 16)} #res := ~is_divisible~0; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,043 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24534#(<= |correct_version_#in~w| 16)} {24468#true} #87#return; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:53,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-08 10:34:53,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:53,229 INFO L290 TraceCheckUtils]: 0: Hoare triple {24468#true} ~w := #in~w;~is_divisible~1 := ~true~0; {24535#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:53,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {24535#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,230 INFO L290 TraceCheckUtils]: 3: Hoare triple {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,231 INFO L290 TraceCheckUtils]: 4: Hoare triple {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:53,232 INFO L290 TraceCheckUtils]: 6: Hoare triple {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:53,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:53,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:53,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:53,233 INFO L290 TraceCheckUtils]: 10: Hoare triple {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:53,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:53,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:53,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24544#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {24544#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,239 INFO L290 TraceCheckUtils]: 22: Hoare triple {24546#(<= 17 |student_version_#in~w|)} #res := ~is_divisible~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,240 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {24546#(<= 17 |student_version_#in~w|)} {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} #89#return; {24469#false} is VALID [2022-04-08 10:34:53,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {24468#true} call ULTIMATE.init(); {24522#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:34:53,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {24522#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {24468#true} is VALID [2022-04-08 10:34:53,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-08 10:34:53,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-08 10:34:53,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-08 10:34:53,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {24468#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {24468#true} is VALID [2022-04-08 10:34:53,242 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-08 10:34:53,242 INFO L272 TraceCheckUtils]: 7: Hoare triple {24468#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:53,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {24468#true} ~w := #in~w;~is_divisible~0 := ~true~0; {24523#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:53,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {24523#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,243 INFO L290 TraceCheckUtils]: 10: Hoare triple {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {24524#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {24525#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {24526#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {24527#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:53,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:53,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {24528#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,248 INFO L290 TraceCheckUtils]: 21: Hoare triple {24529#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,249 INFO L290 TraceCheckUtils]: 22: Hoare triple {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,249 INFO L290 TraceCheckUtils]: 23: Hoare triple {24530#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:53,249 INFO L290 TraceCheckUtils]: 24: Hoare triple {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:53,250 INFO L290 TraceCheckUtils]: 25: Hoare triple {24531#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {24532#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,250 INFO L290 TraceCheckUtils]: 26: Hoare triple {24532#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {24533#(and (<= correct_version_~w 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:34:53,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {24533#(and (<= correct_version_~w 16) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,251 INFO L290 TraceCheckUtils]: 28: Hoare triple {24534#(<= |correct_version_#in~w| 16)} #res := ~is_divisible~0; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,252 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:53,252 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24534#(<= |correct_version_#in~w| 16)} {24468#true} #87#return; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:53,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:53,253 INFO L272 TraceCheckUtils]: 32: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:53,253 INFO L290 TraceCheckUtils]: 33: Hoare triple {24468#true} ~w := #in~w;~is_divisible~1 := ~true~0; {24535#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:34:53,254 INFO L290 TraceCheckUtils]: 34: Hoare triple {24535#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,254 INFO L290 TraceCheckUtils]: 35: Hoare triple {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {24536#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,255 INFO L290 TraceCheckUtils]: 37: Hoare triple {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,256 INFO L290 TraceCheckUtils]: 38: Hoare triple {24537#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:53,256 INFO L290 TraceCheckUtils]: 39: Hoare triple {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:53,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {24538#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:53,257 INFO L290 TraceCheckUtils]: 41: Hoare triple {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:34:53,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {24539#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:53,258 INFO L290 TraceCheckUtils]: 43: Hoare triple {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:34:53,259 INFO L290 TraceCheckUtils]: 44: Hoare triple {24540#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,259 INFO L290 TraceCheckUtils]: 45: Hoare triple {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,260 INFO L290 TraceCheckUtils]: 46: Hoare triple {24541#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:53,260 INFO L290 TraceCheckUtils]: 47: Hoare triple {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:34:53,261 INFO L290 TraceCheckUtils]: 48: Hoare triple {24542#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,261 INFO L290 TraceCheckUtils]: 50: Hoare triple {24543#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24544#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,262 INFO L290 TraceCheckUtils]: 51: Hoare triple {24544#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,262 INFO L290 TraceCheckUtils]: 52: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,263 INFO L290 TraceCheckUtils]: 53: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:34:53,263 INFO L290 TraceCheckUtils]: 54: Hoare triple {24545#(and (<= 17 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,264 INFO L290 TraceCheckUtils]: 55: Hoare triple {24546#(<= 17 |student_version_#in~w|)} #res := ~is_divisible~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,264 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:53,265 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {24546#(<= 17 |student_version_#in~w|)} {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} #89#return; {24469#false} is VALID [2022-04-08 10:34:53,265 INFO L290 TraceCheckUtils]: 58: Hoare triple {24469#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {24469#false} is VALID [2022-04-08 10:34:53,265 INFO L272 TraceCheckUtils]: 59: Hoare triple {24469#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {24469#false} is VALID [2022-04-08 10:34:53,265 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-08 10:34:53,265 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-08 10:34:53,265 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-08 10:34:53,266 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 64 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:53,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:34:53,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229513718] [2022-04-08 10:34:53,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1229513718] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:34:53,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [730948108] [2022-04-08 10:34:53,266 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:34:53,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:34:53,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:34:53,268 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:34:53,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-08 10:34:53,376 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 10:34:53,376 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:34:53,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:34:53,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:34:53,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:34:54,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {24468#true} call ULTIMATE.init(); {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {24468#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {24468#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L272 TraceCheckUtils]: 7: Hoare triple {24468#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:54,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {24468#true} ~w := #in~w;~is_divisible~0 := ~true~0; {24574#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:34:54,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {24574#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {24578#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:54,267 INFO L290 TraceCheckUtils]: 10: Hoare triple {24578#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {24578#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:34:54,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {24578#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {24585#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:54,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {24585#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {24585#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:34:54,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {24585#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {24592#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:54,269 INFO L290 TraceCheckUtils]: 14: Hoare triple {24592#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {24592#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:34:54,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {24592#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {24599#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:54,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {24599#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {24599#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:34:54,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {24599#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {24606#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:54,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {24606#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {24606#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:34:54,273 INFO L290 TraceCheckUtils]: 19: Hoare triple {24606#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {24613#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:54,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {24613#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {24613#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:34:54,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {24613#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {24620#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:54,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {24620#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {24620#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:34:54,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {24620#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {24627#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:54,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {24627#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {24627#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:34:54,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {24627#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {24634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:34:54,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {24634#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !(~i~0 < ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:54,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume !(~i~0 != ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:54,278 INFO L290 TraceCheckUtils]: 28: Hoare triple {24534#(<= |correct_version_#in~w| 16)} #res := ~is_divisible~0; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:54,278 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:54,279 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24534#(<= |correct_version_#in~w| 16)} {24468#true} #87#return; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:54,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:54,280 INFO L272 TraceCheckUtils]: 32: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:54,280 INFO L290 TraceCheckUtils]: 33: Hoare triple {24468#true} ~w := #in~w;~is_divisible~1 := ~true~0; {24659#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {24659#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {24663#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {24663#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24663#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {24663#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24670#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {24670#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24670#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {24670#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24677#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:54,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {24677#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {24677#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:34:54,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {24677#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {24684#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {24684#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24684#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {24684#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24691#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,285 INFO L290 TraceCheckUtils]: 43: Hoare triple {24691#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24691#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {24691#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24698#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {24698#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24698#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,287 INFO L290 TraceCheckUtils]: 46: Hoare triple {24698#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24705#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,287 INFO L290 TraceCheckUtils]: 47: Hoare triple {24705#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24705#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,288 INFO L290 TraceCheckUtils]: 48: Hoare triple {24705#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24712#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {24712#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24712#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,289 INFO L290 TraceCheckUtils]: 50: Hoare triple {24712#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24719#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:34:54,289 INFO L290 TraceCheckUtils]: 51: Hoare triple {24719#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {24546#(<= 17 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,290 INFO L290 TraceCheckUtils]: 53: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume !(~i~1 < ~w); {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,291 INFO L290 TraceCheckUtils]: 54: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,291 INFO L290 TraceCheckUtils]: 55: Hoare triple {24546#(<= 17 |student_version_#in~w|)} #res := ~is_divisible~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,291 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:54,292 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {24546#(<= 17 |student_version_#in~w|)} {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} #89#return; {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L290 TraceCheckUtils]: 58: Hoare triple {24469#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L272 TraceCheckUtils]: 59: Hoare triple {24469#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-08 10:34:54,293 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 64 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:54,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:34:58,152 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-08 10:34:58,153 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-08 10:34:58,153 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-08 10:34:58,153 INFO L272 TraceCheckUtils]: 59: Hoare triple {24469#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {24469#false} is VALID [2022-04-08 10:34:58,153 INFO L290 TraceCheckUtils]: 58: Hoare triple {24469#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {24469#false} is VALID [2022-04-08 10:34:58,154 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {24546#(<= 17 |student_version_#in~w|)} {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} #89#return; {24469#false} is VALID [2022-04-08 10:34:58,154 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,154 INFO L290 TraceCheckUtils]: 55: Hoare triple {24546#(<= 17 |student_version_#in~w|)} #res := ~is_divisible~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,154 INFO L290 TraceCheckUtils]: 54: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,155 INFO L290 TraceCheckUtils]: 53: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume !(~i~1 < ~w); {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {24546#(<= 17 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,155 INFO L290 TraceCheckUtils]: 51: Hoare triple {24792#(or (not (< student_version_~i~1 student_version_~w)) (<= 17 |student_version_#in~w|))} assume !!(~i~1 < ~w); {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-08 10:34:58,156 INFO L290 TraceCheckUtils]: 50: Hoare triple {24796#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {24792#(or (not (< student_version_~i~1 student_version_~w)) (<= 17 |student_version_#in~w|))} is VALID [2022-04-08 10:34:58,156 INFO L290 TraceCheckUtils]: 49: Hoare triple {24796#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {24796#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,157 INFO L290 TraceCheckUtils]: 48: Hoare triple {24803#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {24796#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,157 INFO L290 TraceCheckUtils]: 47: Hoare triple {24803#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {24803#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:34:58,157 INFO L290 TraceCheckUtils]: 46: Hoare triple {24810#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {24803#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:34:58,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {24810#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {24810#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {24817#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {24810#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {24817#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {24817#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:58,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {24824#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 17 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {24817#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:34:58,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {24824#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 17 |student_version_#in~w|))} assume !!(~i~1 < ~w); {24824#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 17 |student_version_#in~w|))} is VALID [2022-04-08 10:34:58,160 INFO L290 TraceCheckUtils]: 40: Hoare triple {24831#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {24824#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 17 |student_version_#in~w|))} is VALID [2022-04-08 10:34:58,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {24831#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {24831#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:58,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {24838#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {24831#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:34:58,161 INFO L290 TraceCheckUtils]: 37: Hoare triple {24838#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {24838#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {24845#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {24838#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,162 INFO L290 TraceCheckUtils]: 35: Hoare triple {24845#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {24845#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {24852#(or (<= student_version_~w 16) (<= 17 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {24845#(or (<= 17 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:34:58,162 INFO L290 TraceCheckUtils]: 33: Hoare triple {24468#true} ~w := #in~w;~is_divisible~1 := ~true~0; {24852#(or (<= student_version_~w 16) (<= 17 |student_version_#in~w|))} is VALID [2022-04-08 10:34:58,162 INFO L272 TraceCheckUtils]: 32: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:58,163 INFO L290 TraceCheckUtils]: 31: Hoare triple {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:58,164 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {24534#(<= |correct_version_#in~w| 16)} {24468#true} #87#return; {24496#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 16)))} is VALID [2022-04-08 10:34:58,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:58,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {24534#(<= |correct_version_#in~w| 16)} #res := ~is_divisible~0; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:58,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume !(~i~0 != ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:58,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {24877#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 16))} assume !(~i~0 < ~w); {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-08 10:34:58,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {24881#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {24877#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {24881#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {24881#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:58,166 INFO L290 TraceCheckUtils]: 23: Hoare triple {24888#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {24881#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:34:58,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {24888#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {24888#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:58,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {24895#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 16))} ~i~0 := 2 + ~i~0; {24888#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:34:58,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {24895#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 16))} assume !!(~i~0 < ~w); {24895#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {24902#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {24895#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {24902#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {24902#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:58,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {24909#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 16))} ~i~0 := 2 + ~i~0; {24902#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:34:58,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {24909#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 16))} assume !!(~i~0 < ~w); {24909#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {24916#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 16))} ~i~0 := 2 + ~i~0; {24909#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {24916#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 16))} assume !!(~i~0 < ~w); {24916#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {24923#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {24916#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 16))} is VALID [2022-04-08 10:34:58,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {24923#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {24923#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:58,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {24930#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {24923#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:34:58,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {24930#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {24930#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:34:58,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {24937#(or (<= |correct_version_#in~w| 16) (< 16 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {24930#(or (<= |correct_version_#in~w| 16) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:34:58,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {24468#true} ~w := #in~w;~is_divisible~0 := ~true~0; {24937#(or (<= |correct_version_#in~w| 16) (< 16 correct_version_~w))} is VALID [2022-04-08 10:34:58,172 INFO L272 TraceCheckUtils]: 7: Hoare triple {24468#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {24468#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {24468#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {24468#true} is VALID [2022-04-08 10:34:58,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {24468#true} call ULTIMATE.init(); {24468#true} is VALID [2022-04-08 10:34:58,173 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 81 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:34:58,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [730948108] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:34:58,173 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:34:58,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 25, 25] total 68 [2022-04-08 10:34:58,173 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:34:58,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2033711683] [2022-04-08 10:34:58,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2033711683] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:34:58,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:34:58,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-08 10:34:58,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [272585134] [2022-04-08 10:34:58,173 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:34:58,174 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 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 63 [2022-04-08 10:34:58,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:34:58,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:58,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:34:58,214 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-08 10:34:58,214 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:34:58,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-08 10:34:58,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=761, Invalid=3795, Unknown=0, NotChecked=0, Total=4556 [2022-04-08 10:34:58,215 INFO L87 Difference]: Start difference. First operand 76 states and 81 transitions. Second operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:59,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:34:59,955 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2022-04-08 10:34:59,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:34:59,955 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 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 63 [2022-04-08 10:34:59,955 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:34:59,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:59,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2022-04-08 10:34:59,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:34:59,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2022-04-08 10:34:59,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 88 transitions. [2022-04-08 10:35:00,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:00,033 INFO L225 Difference]: With dead ends: 91 [2022-04-08 10:35:00,033 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 10:35:00,034 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 85 SyntacticMatches, 5 SemanticMatches, 89 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3531 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=1311, Invalid=6879, Unknown=0, NotChecked=0, Total=8190 [2022-04-08 10:35:00,034 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 87 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 575 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:00,034 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 72 Invalid, 575 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:35:00,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 10:35:00,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 75. [2022-04-08 10:35:00,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:00,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:00,502 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:00,503 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:00,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:00,503 INFO L93 Difference]: Finished difference Result 79 states and 83 transitions. [2022-04-08 10:35:00,503 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-08 10:35:00,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:00,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:00,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:35:00,504 INFO L87 Difference]: Start difference. First operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:35:00,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:00,506 INFO L93 Difference]: Finished difference Result 79 states and 83 transitions. [2022-04-08 10:35:00,506 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-08 10:35:00,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:00,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:00,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:00,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:00,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 63 states have (on average 1.0793650793650793) internal successors, (68), 65 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:00,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 79 transitions. [2022-04-08 10:35:00,507 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 79 transitions. Word has length 63 [2022-04-08 10:35:00,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:00,507 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 79 transitions. [2022-04-08 10:35:00,508 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:00,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 79 transitions. [2022-04-08 10:35:00,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:00,670 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-08 10:35:00,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 10:35:00,670 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:00,671 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 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] [2022-04-08 10:35:00,696 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-08 10:35:00,871 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable34,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:00,871 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:00,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:00,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1960827029, now seen corresponding path program 29 times [2022-04-08 10:35:00,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:00,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [774276343] [2022-04-08 10:35:00,874 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:00,874 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:00,874 INFO L85 PathProgramCache]: Analyzing trace with hash 1960827029, now seen corresponding path program 30 times [2022-04-08 10:35:00,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:00,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668477771] [2022-04-08 10:35:00,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:00,875 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:00,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:00,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:00,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:00,925 INFO L290 TraceCheckUtils]: 0: Hoare triple {25554#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {25500#true} is VALID [2022-04-08 10:35:00,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-08 10:35:00,926 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-08 10:35:00,926 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:00,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:01,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {25500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {25555#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:01,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {25555#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,111 INFO L290 TraceCheckUtils]: 4: Hoare triple {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,112 INFO L290 TraceCheckUtils]: 6: Hoare triple {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,114 INFO L290 TraceCheckUtils]: 10: Hoare triple {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,118 INFO L290 TraceCheckUtils]: 17: Hoare triple {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25564#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {25564#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} ~i~0 := 2 + ~i~0; {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} assume !(~i~0 < ~w); {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,119 INFO L290 TraceCheckUtils]: 21: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} #res := ~is_divisible~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,121 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {25566#(<= 17 |correct_version_#in~w|)} {25500#true} #87#return; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:01,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-08 10:35:01,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:01,352 INFO L290 TraceCheckUtils]: 0: Hoare triple {25500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {25567#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:01,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {25567#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:01,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:01,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,354 INFO L290 TraceCheckUtils]: 4: Hoare triple {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:01,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:01,357 INFO L290 TraceCheckUtils]: 9: Hoare triple {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,357 INFO L290 TraceCheckUtils]: 10: Hoare triple {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,358 INFO L290 TraceCheckUtils]: 11: Hoare triple {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:01,358 INFO L290 TraceCheckUtils]: 12: Hoare triple {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:01,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:01,360 INFO L290 TraceCheckUtils]: 16: Hoare triple {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:01,361 INFO L290 TraceCheckUtils]: 17: Hoare triple {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {25576#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:01,361 INFO L290 TraceCheckUtils]: 18: Hoare triple {25576#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !(~i~1 < ~w); {25577#(and (<= student_version_~w 16) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,362 INFO L290 TraceCheckUtils]: 19: Hoare triple {25577#(and (<= student_version_~w 16) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,362 INFO L290 TraceCheckUtils]: 20: Hoare triple {25578#(<= |student_version_#in~w| 16)} #res := ~is_divisible~1; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,362 INFO L290 TraceCheckUtils]: 21: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,363 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {25578#(<= |student_version_#in~w| 16)} {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} #89#return; {25501#false} is VALID [2022-04-08 10:35:01,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {25500#true} call ULTIMATE.init(); {25554#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:01,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {25554#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {25500#true} is VALID [2022-04-08 10:35:01,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-08 10:35:01,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-08 10:35:01,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-08 10:35:01,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {25500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {25500#true} is VALID [2022-04-08 10:35:01,365 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-08 10:35:01,365 INFO L272 TraceCheckUtils]: 7: Hoare triple {25500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:01,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {25500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {25555#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:01,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {25555#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,366 INFO L290 TraceCheckUtils]: 10: Hoare triple {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {25556#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {25557#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {25558#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {25559#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {25560#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {25561#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {25562#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:01,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {25563#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {25564#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:01,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {25564#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,374 INFO L290 TraceCheckUtils]: 27: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} ~i~0 := 2 + ~i~0; {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,375 INFO L290 TraceCheckUtils]: 28: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} assume !(~i~0 < ~w); {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} is VALID [2022-04-08 10:35:01,375 INFO L290 TraceCheckUtils]: 29: Hoare triple {25565#(and (= |correct_version_#in~w| correct_version_~w) (<= 17 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} #res := ~is_divisible~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:01,377 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25566#(<= 17 |correct_version_#in~w|)} {25500#true} #87#return; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:01,378 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:01,378 INFO L272 TraceCheckUtils]: 34: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:01,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {25500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {25567#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:01,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {25567#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:01,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:01,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {25568#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {25569#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,381 INFO L290 TraceCheckUtils]: 41: Hoare triple {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {25570#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:01,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:01,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {25571#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {25572#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:01,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:01,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {25573#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,385 INFO L290 TraceCheckUtils]: 49: Hoare triple {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,385 INFO L290 TraceCheckUtils]: 50: Hoare triple {25574#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:01,386 INFO L290 TraceCheckUtils]: 51: Hoare triple {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:01,386 INFO L290 TraceCheckUtils]: 52: Hoare triple {25575#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {25576#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:01,387 INFO L290 TraceCheckUtils]: 53: Hoare triple {25576#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !(~i~1 < ~w); {25577#(and (<= student_version_~w 16) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:01,387 INFO L290 TraceCheckUtils]: 54: Hoare triple {25577#(and (<= student_version_~w 16) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,388 INFO L290 TraceCheckUtils]: 55: Hoare triple {25578#(<= |student_version_#in~w| 16)} #res := ~is_divisible~1; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,388 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:01,389 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {25578#(<= |student_version_#in~w| 16)} {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} #89#return; {25501#false} is VALID [2022-04-08 10:35:01,389 INFO L290 TraceCheckUtils]: 58: Hoare triple {25501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {25501#false} is VALID [2022-04-08 10:35:01,389 INFO L272 TraceCheckUtils]: 59: Hoare triple {25501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {25501#false} is VALID [2022-04-08 10:35:01,389 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-08 10:35:01,389 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-08 10:35:01,389 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-08 10:35:01,390 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 64 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:01,390 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:01,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668477771] [2022-04-08 10:35:01,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1668477771] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:01,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [893304559] [2022-04-08 10:35:01,390 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:35:01,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:01,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:01,391 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:01,393 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-08 10:35:01,481 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-08 10:35:01,481 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:01,482 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:35:01,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:01,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:02,561 INFO L272 TraceCheckUtils]: 0: Hoare triple {25500#true} call ULTIMATE.init(); {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {25500#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L290 TraceCheckUtils]: 5: Hoare triple {25500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-08 10:35:02,561 INFO L272 TraceCheckUtils]: 7: Hoare triple {25500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:02,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {25500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {25606#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {25606#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {25610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,562 INFO L290 TraceCheckUtils]: 10: Hoare triple {25610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {25610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,563 INFO L290 TraceCheckUtils]: 11: Hoare triple {25610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {25617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {25617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {25617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {25624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {25624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {25624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25631#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:02,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {25631#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25631#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:02,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {25631#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {25638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {25638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {25638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {25638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25645#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:02,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {25645#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25645#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:02,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {25645#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {25652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {25652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {25652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {25652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {25659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {25659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {25659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {25666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:02,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {25666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,569 INFO L290 TraceCheckUtils]: 28: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume !(~i~0 < ~w); {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,570 INFO L290 TraceCheckUtils]: 30: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} #res := ~is_divisible~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,570 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:02,571 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25566#(<= 17 |correct_version_#in~w|)} {25500#true} #87#return; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:02,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:02,571 INFO L272 TraceCheckUtils]: 34: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:02,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {25500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {25697#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:02,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {25697#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {25701#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:02,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {25701#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {25701#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:02,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {25701#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {25708#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:02,573 INFO L290 TraceCheckUtils]: 39: Hoare triple {25708#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {25708#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:02,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {25708#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {25715#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:02,574 INFO L290 TraceCheckUtils]: 41: Hoare triple {25715#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {25715#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:02,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {25715#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {25722#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:02,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {25722#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {25722#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:02,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {25722#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {25729#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:02,576 INFO L290 TraceCheckUtils]: 45: Hoare triple {25729#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {25729#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:02,576 INFO L290 TraceCheckUtils]: 46: Hoare triple {25729#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {25736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:02,576 INFO L290 TraceCheckUtils]: 47: Hoare triple {25736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {25736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:02,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {25736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {25743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:02,577 INFO L290 TraceCheckUtils]: 49: Hoare triple {25743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {25743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:02,578 INFO L290 TraceCheckUtils]: 50: Hoare triple {25743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {25750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:02,578 INFO L290 TraceCheckUtils]: 51: Hoare triple {25750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {25750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:02,578 INFO L290 TraceCheckUtils]: 52: Hoare triple {25750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {25757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:02,579 INFO L290 TraceCheckUtils]: 53: Hoare triple {25757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !(~i~1 < ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:02,579 INFO L290 TraceCheckUtils]: 54: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume !(~i~1 != ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:02,579 INFO L290 TraceCheckUtils]: 55: Hoare triple {25578#(<= |student_version_#in~w| 16)} #res := ~is_divisible~1; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:02,580 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:02,580 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {25578#(<= |student_version_#in~w| 16)} {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} #89#return; {25501#false} is VALID [2022-04-08 10:35:02,580 INFO L290 TraceCheckUtils]: 58: Hoare triple {25501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {25501#false} is VALID [2022-04-08 10:35:02,580 INFO L272 TraceCheckUtils]: 59: Hoare triple {25501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {25501#false} is VALID [2022-04-08 10:35:02,581 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-08 10:35:02,581 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-08 10:35:02,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-08 10:35:02,581 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 64 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:02,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:06,741 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-08 10:35:06,741 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-08 10:35:06,741 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-08 10:35:06,741 INFO L272 TraceCheckUtils]: 59: Hoare triple {25501#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {25501#false} is VALID [2022-04-08 10:35:06,741 INFO L290 TraceCheckUtils]: 58: Hoare triple {25501#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {25501#false} is VALID [2022-04-08 10:35:06,742 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {25578#(<= |student_version_#in~w| 16)} {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} #89#return; {25501#false} is VALID [2022-04-08 10:35:06,742 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:06,742 INFO L290 TraceCheckUtils]: 55: Hoare triple {25578#(<= |student_version_#in~w| 16)} #res := ~is_divisible~1; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:06,743 INFO L290 TraceCheckUtils]: 54: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume !(~i~1 != ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:06,743 INFO L290 TraceCheckUtils]: 53: Hoare triple {25818#(or (<= |student_version_#in~w| 16) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-08 10:35:06,743 INFO L290 TraceCheckUtils]: 52: Hoare triple {25822#(or (<= |student_version_#in~w| 16) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {25818#(or (<= |student_version_#in~w| 16) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:35:06,744 INFO L290 TraceCheckUtils]: 51: Hoare triple {25822#(or (<= |student_version_#in~w| 16) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {25822#(or (<= |student_version_#in~w| 16) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:35:06,744 INFO L290 TraceCheckUtils]: 50: Hoare triple {25829#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {25822#(or (<= |student_version_#in~w| 16) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:35:06,744 INFO L290 TraceCheckUtils]: 49: Hoare triple {25829#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {25829#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:35:06,745 INFO L290 TraceCheckUtils]: 48: Hoare triple {25836#(or (<= |student_version_#in~w| 16) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {25829#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:35:06,745 INFO L290 TraceCheckUtils]: 47: Hoare triple {25836#(or (<= |student_version_#in~w| 16) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {25836#(or (<= |student_version_#in~w| 16) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:35:06,746 INFO L290 TraceCheckUtils]: 46: Hoare triple {25843#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 16))} ~i~1 := 2 + ~i~1; {25836#(or (<= |student_version_#in~w| 16) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:35:06,746 INFO L290 TraceCheckUtils]: 45: Hoare triple {25843#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 16))} assume !!(~i~1 < ~w); {25843#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,746 INFO L290 TraceCheckUtils]: 44: Hoare triple {25850#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 16))} ~i~1 := 2 + ~i~1; {25843#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {25850#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 16))} assume !!(~i~1 < ~w); {25850#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,747 INFO L290 TraceCheckUtils]: 42: Hoare triple {25857#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {25850#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {25857#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {25857#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:35:06,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {25864#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} ~i~1 := 2 + ~i~1; {25857#(or (<= |student_version_#in~w| 16) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:35:06,748 INFO L290 TraceCheckUtils]: 39: Hoare triple {25864#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} assume !!(~i~1 < ~w); {25864#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,749 INFO L290 TraceCheckUtils]: 38: Hoare triple {25871#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} ~i~1 := 2 + ~i~1; {25864#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {25871#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} assume !!(~i~1 < ~w); {25871#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,749 INFO L290 TraceCheckUtils]: 36: Hoare triple {25878#(or (< 16 student_version_~w) (<= |student_version_#in~w| 16))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {25871#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {25500#true} ~w := #in~w;~is_divisible~1 := ~true~0; {25878#(or (< 16 student_version_~w) (<= |student_version_#in~w| 16))} is VALID [2022-04-08 10:35:06,750 INFO L272 TraceCheckUtils]: 34: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:06,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:06,751 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25566#(<= 17 |correct_version_#in~w|)} {25500#true} #87#return; {25530#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 17) main_~w~0))} is VALID [2022-04-08 10:35:06,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} #res := ~is_divisible~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume !(~i~0 < ~w); {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {25909#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 17 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:06,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {25913#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 17 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {25909#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {25913#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 17 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25913#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {25920#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 17 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {25913#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {25920#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 17 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25920#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,755 INFO L290 TraceCheckUtils]: 21: Hoare triple {25927#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {25920#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {25927#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {25927#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:06,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {25934#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 17 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {25927#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:06,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {25934#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 17 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {25934#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,756 INFO L290 TraceCheckUtils]: 17: Hoare triple {25941#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {25934#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 17 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:06,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {25941#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {25941#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:35:06,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {25948#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {25941#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:35:06,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {25948#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {25948#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:06,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {25955#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {25948#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:06,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {25955#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {25955#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:06,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {25962#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {25955#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:06,759 INFO L290 TraceCheckUtils]: 10: Hoare triple {25962#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {25962#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:06,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {25969#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w 16))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {25962#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:06,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {25500#true} ~w := #in~w;~is_divisible~0 := ~true~0; {25969#(or (<= 17 |correct_version_#in~w|) (<= correct_version_~w 16))} is VALID [2022-04-08 10:35:06,760 INFO L272 TraceCheckUtils]: 7: Hoare triple {25500#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {25500#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {25500#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {25500#true} call ULTIMATE.init(); {25500#true} is VALID [2022-04-08 10:35:06,760 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 81 proven. 64 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:06,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [893304559] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:06,761 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:06,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 25, 25] total 68 [2022-04-08 10:35:06,761 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:06,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [774276343] [2022-04-08 10:35:06,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [774276343] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:06,761 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:06,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-08 10:35:06,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [10521066] [2022-04-08 10:35:06,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:06,761 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 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 63 [2022-04-08 10:35:06,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:06,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:06,801 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:06,801 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-08 10:35:06,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:06,802 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-08 10:35:06,802 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=761, Invalid=3795, Unknown=0, NotChecked=0, Total=4556 [2022-04-08 10:35:06,802 INFO L87 Difference]: Start difference. First operand 75 states and 79 transitions. Second operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:08,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:08,282 INFO L93 Difference]: Finished difference Result 85 states and 88 transitions. [2022-04-08 10:35:08,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-08 10:35:08,282 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 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 63 [2022-04-08 10:35:08,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:08,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:08,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2022-04-08 10:35:08,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:08,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2022-04-08 10:35:08,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 80 transitions. [2022-04-08 10:35:08,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:08,357 INFO L225 Difference]: With dead ends: 85 [2022-04-08 10:35:08,357 INFO L226 Difference]: Without dead ends: 75 [2022-04-08 10:35:08,357 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 85 SyntacticMatches, 5 SemanticMatches, 89 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3478 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=1311, Invalid=6879, Unknown=0, NotChecked=0, Total=8190 [2022-04-08 10:35:08,358 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 89 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:08,358 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 55 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:35:08,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-08 10:35:08,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-08 10:35:08,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:08,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:08,825 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:08,825 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:08,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:08,825 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2022-04-08 10:35:08,826 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2022-04-08 10:35:08,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:08,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:08,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:35:08,826 INFO L87 Difference]: Start difference. First operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 75 states. [2022-04-08 10:35:08,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:08,827 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2022-04-08 10:35:08,827 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2022-04-08 10:35:08,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:08,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:08,827 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:08,827 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:08,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 62 states have (on average 1.064516129032258) internal successors, (66), 64 states have internal predecessors, (66), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:08,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 77 transitions. [2022-04-08 10:35:08,828 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 77 transitions. Word has length 63 [2022-04-08 10:35:08,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:08,828 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 77 transitions. [2022-04-08 10:35:08,828 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:08,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 77 transitions. [2022-04-08 10:35:08,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:08,953 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2022-04-08 10:35:08,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-08 10:35:08,953 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:08,953 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 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] [2022-04-08 10:35:08,971 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:09,154 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:09,154 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:09,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:09,154 INFO L85 PathProgramCache]: Analyzing trace with hash 1410871959, now seen corresponding path program 31 times [2022-04-08 10:35:09,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:09,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2137817289] [2022-04-08 10:35:09,157 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:09,157 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:09,157 INFO L85 PathProgramCache]: Analyzing trace with hash 1410871959, now seen corresponding path program 32 times [2022-04-08 10:35:09,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:09,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958547655] [2022-04-08 10:35:09,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:09,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:09,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:09,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {26566#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {26510#true} is VALID [2022-04-08 10:35:09,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-08 10:35:09,212 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-08 10:35:09,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:09,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {26510#true} ~w := #in~w;~is_divisible~0 := ~true~0; {26567#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:09,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {26567#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,407 INFO L290 TraceCheckUtils]: 3: Hoare triple {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,408 INFO L290 TraceCheckUtils]: 4: Hoare triple {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,409 INFO L290 TraceCheckUtils]: 6: Hoare triple {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,409 INFO L290 TraceCheckUtils]: 7: Hoare triple {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:09,411 INFO L290 TraceCheckUtils]: 10: Hoare triple {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:09,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:09,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:09,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26577#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:09,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {26577#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} assume !(~i~0 < ~w); {26578#(and (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:09,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {26578#(and (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {26579#(<= |correct_version_#in~w| 17)} #res := ~is_divisible~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,418 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {26579#(<= |correct_version_#in~w| 17)} {26510#true} #87#return; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:09,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-08 10:35:09,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {26510#true} ~w := #in~w;~is_divisible~1 := ~true~0; {26580#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:09,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {26580#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:09,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:09,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:09,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:09,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:09,602 INFO L290 TraceCheckUtils]: 10: Hoare triple {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:09,602 INFO L290 TraceCheckUtils]: 11: Hoare triple {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,602 INFO L290 TraceCheckUtils]: 12: Hoare triple {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,603 INFO L290 TraceCheckUtils]: 13: Hoare triple {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:09,603 INFO L290 TraceCheckUtils]: 14: Hoare triple {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:09,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,604 INFO L290 TraceCheckUtils]: 16: Hoare triple {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,605 INFO L290 TraceCheckUtils]: 18: Hoare triple {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,605 INFO L290 TraceCheckUtils]: 19: Hoare triple {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,605 INFO L290 TraceCheckUtils]: 20: Hoare triple {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,606 INFO L290 TraceCheckUtils]: 22: Hoare triple {26591#(<= 18 |student_version_#in~w|)} #res := ~is_divisible~1; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,606 INFO L290 TraceCheckUtils]: 23: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,607 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {26591#(<= 18 |student_version_#in~w|)} {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} #89#return; {26511#false} is VALID [2022-04-08 10:35:09,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {26510#true} call ULTIMATE.init(); {26566#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:09,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {26566#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {26510#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-08 10:35:09,608 INFO L272 TraceCheckUtils]: 7: Hoare triple {26510#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:09,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {26510#true} ~w := #in~w;~is_divisible~0 := ~true~0; {26567#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:09,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {26567#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {26568#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {26569#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {26570#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,612 INFO L290 TraceCheckUtils]: 17: Hoare triple {26571#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:09,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:09,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {26572#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {26573#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,614 INFO L290 TraceCheckUtils]: 22: Hoare triple {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {26574#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:09,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:09,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {26575#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:09,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {26576#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {26577#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:09,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {26577#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} assume !(~i~0 < ~w); {26578#(and (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:09,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {26578#(and (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 18)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {26579#(<= |correct_version_#in~w| 17)} #res := ~is_divisible~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:09,618 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26579#(<= |correct_version_#in~w| 17)} {26510#true} #87#return; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:09,618 INFO L290 TraceCheckUtils]: 33: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:09,618 INFO L272 TraceCheckUtils]: 34: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:09,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {26510#true} ~w := #in~w;~is_divisible~1 := ~true~0; {26580#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:09,619 INFO L290 TraceCheckUtils]: 36: Hoare triple {26580#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,619 INFO L290 TraceCheckUtils]: 37: Hoare triple {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,620 INFO L290 TraceCheckUtils]: 38: Hoare triple {26581#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,620 INFO L290 TraceCheckUtils]: 39: Hoare triple {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,621 INFO L290 TraceCheckUtils]: 40: Hoare triple {26582#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:09,621 INFO L290 TraceCheckUtils]: 41: Hoare triple {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:09,621 INFO L290 TraceCheckUtils]: 42: Hoare triple {26583#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:09,622 INFO L290 TraceCheckUtils]: 43: Hoare triple {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:09,622 INFO L290 TraceCheckUtils]: 44: Hoare triple {26584#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:09,622 INFO L290 TraceCheckUtils]: 45: Hoare triple {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:09,623 INFO L290 TraceCheckUtils]: 46: Hoare triple {26585#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,623 INFO L290 TraceCheckUtils]: 47: Hoare triple {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {26586#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:09,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:09,624 INFO L290 TraceCheckUtils]: 50: Hoare triple {26587#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,625 INFO L290 TraceCheckUtils]: 51: Hoare triple {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,625 INFO L290 TraceCheckUtils]: 52: Hoare triple {26588#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,625 INFO L290 TraceCheckUtils]: 53: Hoare triple {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,626 INFO L290 TraceCheckUtils]: 54: Hoare triple {26589#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,626 INFO L290 TraceCheckUtils]: 55: Hoare triple {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:09,627 INFO L290 TraceCheckUtils]: 56: Hoare triple {26590#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {26591#(<= 18 |student_version_#in~w|)} #res := ~is_divisible~1; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,627 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:09,628 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26591#(<= 18 |student_version_#in~w|)} {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} #89#return; {26511#false} is VALID [2022-04-08 10:35:09,628 INFO L290 TraceCheckUtils]: 60: Hoare triple {26511#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {26511#false} is VALID [2022-04-08 10:35:09,628 INFO L272 TraceCheckUtils]: 61: Hoare triple {26511#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {26511#false} is VALID [2022-04-08 10:35:09,628 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-08 10:35:09,628 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-08 10:35:09,628 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-08 10:35:09,629 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:09,629 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:09,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958547655] [2022-04-08 10:35:09,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1958547655] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:09,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1235353626] [2022-04-08 10:35:09,629 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:35:09,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:09,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:09,630 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:09,631 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-08 10:35:09,716 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:35:09,716 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:09,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 10:35:09,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:09,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:10,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {26510#true} call ULTIMATE.init(); {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {26510#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {26510#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-08 10:35:10,728 INFO L272 TraceCheckUtils]: 7: Hoare triple {26510#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:10,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {26510#true} ~w := #in~w;~is_divisible~0 := ~true~0; {26619#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:10,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {26619#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {26623#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:10,729 INFO L290 TraceCheckUtils]: 10: Hoare triple {26623#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {26623#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:10,730 INFO L290 TraceCheckUtils]: 11: Hoare triple {26623#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {26630#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:10,730 INFO L290 TraceCheckUtils]: 12: Hoare triple {26630#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {26630#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:10,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {26630#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {26637#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:10,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {26637#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {26637#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:10,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {26637#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {26644#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:10,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {26644#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {26644#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:10,732 INFO L290 TraceCheckUtils]: 17: Hoare triple {26644#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {26651#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:10,732 INFO L290 TraceCheckUtils]: 18: Hoare triple {26651#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {26651#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:10,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {26651#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {26658#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:10,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {26658#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {26658#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:10,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {26658#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {26665#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:10,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {26665#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {26665#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:10,734 INFO L290 TraceCheckUtils]: 23: Hoare triple {26665#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {26672#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:10,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {26672#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {26672#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:10,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {26672#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {26679#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:10,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {26679#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {26679#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:10,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {26679#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {26686#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:10,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {26686#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !(~i~0 < ~w); {26690#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:10,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {26690#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 18))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:10,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {26579#(<= |correct_version_#in~w| 17)} #res := ~is_divisible~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:10,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:10,738 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26579#(<= |correct_version_#in~w| 17)} {26510#true} #87#return; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:10,738 INFO L290 TraceCheckUtils]: 33: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:10,739 INFO L272 TraceCheckUtils]: 34: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:10,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {26510#true} ~w := #in~w;~is_divisible~1 := ~true~0; {26712#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:35:10,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {26712#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {26716#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,740 INFO L290 TraceCheckUtils]: 37: Hoare triple {26716#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26716#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,740 INFO L290 TraceCheckUtils]: 38: Hoare triple {26716#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26723#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,740 INFO L290 TraceCheckUtils]: 39: Hoare triple {26723#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26723#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {26723#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26730#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:10,741 INFO L290 TraceCheckUtils]: 41: Hoare triple {26730#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {26730#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:10,742 INFO L290 TraceCheckUtils]: 42: Hoare triple {26730#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {26737#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {26737#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26737#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {26737#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26744#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,743 INFO L290 TraceCheckUtils]: 45: Hoare triple {26744#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26744#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,743 INFO L290 TraceCheckUtils]: 46: Hoare triple {26744#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26751#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,744 INFO L290 TraceCheckUtils]: 47: Hoare triple {26751#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26751#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,744 INFO L290 TraceCheckUtils]: 48: Hoare triple {26751#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26758#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,744 INFO L290 TraceCheckUtils]: 49: Hoare triple {26758#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26758#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,745 INFO L290 TraceCheckUtils]: 50: Hoare triple {26758#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26765#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {26765#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26765#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {26765#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26772#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {26772#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {26772#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,746 INFO L290 TraceCheckUtils]: 54: Hoare triple {26772#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26779#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,747 INFO L290 TraceCheckUtils]: 55: Hoare triple {26779#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {26779#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:10,747 INFO L290 TraceCheckUtils]: 56: Hoare triple {26779#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:10,747 INFO L290 TraceCheckUtils]: 57: Hoare triple {26591#(<= 18 |student_version_#in~w|)} #res := ~is_divisible~1; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:10,748 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:10,748 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26591#(<= 18 |student_version_#in~w|)} {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} #89#return; {26511#false} is VALID [2022-04-08 10:35:10,748 INFO L290 TraceCheckUtils]: 60: Hoare triple {26511#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {26511#false} is VALID [2022-04-08 10:35:10,749 INFO L272 TraceCheckUtils]: 61: Hoare triple {26511#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {26511#false} is VALID [2022-04-08 10:35:10,749 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-08 10:35:10,749 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-08 10:35:10,749 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-08 10:35:10,749 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:10,749 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:19,549 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-08 10:35:19,549 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-08 10:35:19,549 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-08 10:35:19,550 INFO L272 TraceCheckUtils]: 61: Hoare triple {26511#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {26511#false} is VALID [2022-04-08 10:35:19,550 INFO L290 TraceCheckUtils]: 60: Hoare triple {26511#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {26511#false} is VALID [2022-04-08 10:35:19,550 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26591#(<= 18 |student_version_#in~w|)} {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} #89#return; {26511#false} is VALID [2022-04-08 10:35:19,551 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:19,551 INFO L290 TraceCheckUtils]: 57: Hoare triple {26591#(<= 18 |student_version_#in~w|)} #res := ~is_divisible~1; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:19,551 INFO L290 TraceCheckUtils]: 56: Hoare triple {26837#(or (<= 18 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-08 10:35:19,552 INFO L290 TraceCheckUtils]: 55: Hoare triple {26837#(or (<= 18 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {26837#(or (<= 18 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:35:19,552 INFO L290 TraceCheckUtils]: 54: Hoare triple {26844#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {26837#(or (<= 18 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:35:19,553 INFO L290 TraceCheckUtils]: 53: Hoare triple {26844#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {26844#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:35:19,553 INFO L290 TraceCheckUtils]: 52: Hoare triple {26851#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 18 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26844#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:35:19,553 INFO L290 TraceCheckUtils]: 51: Hoare triple {26851#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 18 |student_version_#in~w|))} assume !!(~i~1 < ~w); {26851#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,554 INFO L290 TraceCheckUtils]: 50: Hoare triple {26858#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 18 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26851#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,554 INFO L290 TraceCheckUtils]: 49: Hoare triple {26858#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 18 |student_version_#in~w|))} assume !!(~i~1 < ~w); {26858#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {26865#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {26858#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {26865#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {26865#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:35:19,555 INFO L290 TraceCheckUtils]: 46: Hoare triple {26872#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 18 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26865#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:35:19,556 INFO L290 TraceCheckUtils]: 45: Hoare triple {26872#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 18 |student_version_#in~w|))} assume !!(~i~1 < ~w); {26872#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,556 INFO L290 TraceCheckUtils]: 44: Hoare triple {26879#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {26872#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,556 INFO L290 TraceCheckUtils]: 43: Hoare triple {26879#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {26879#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:35:19,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {26886#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 18 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {26879#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:35:19,557 INFO L290 TraceCheckUtils]: 41: Hoare triple {26886#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 18 |student_version_#in~w|))} assume !!(~i~1 < ~w); {26886#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {26893#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {26886#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 18 |student_version_#in~w|))} is VALID [2022-04-08 10:35:19,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {26893#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {26893#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:35:19,558 INFO L290 TraceCheckUtils]: 38: Hoare triple {26900#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {26893#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:35:19,559 INFO L290 TraceCheckUtils]: 37: Hoare triple {26900#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {26900#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:35:19,559 INFO L290 TraceCheckUtils]: 36: Hoare triple {26907#(or (<= 18 |student_version_#in~w|) (< student_version_~w 18))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {26900#(or (<= 18 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:35:19,560 INFO L290 TraceCheckUtils]: 35: Hoare triple {26510#true} ~w := #in~w;~is_divisible~1 := ~true~0; {26907#(or (<= 18 |student_version_#in~w|) (< student_version_~w 18))} is VALID [2022-04-08 10:35:19,560 INFO L272 TraceCheckUtils]: 34: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:19,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:19,561 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26579#(<= |correct_version_#in~w| 17)} {26510#true} #87#return; {26540#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 17)))} is VALID [2022-04-08 10:35:19,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:19,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {26579#(<= |correct_version_#in~w| 17)} #res := ~is_divisible~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:19,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {26929#(or (<= |correct_version_#in~w| 17) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-08 10:35:19,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {26933#(or (<= |correct_version_#in~w| 17) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {26929#(or (<= |correct_version_#in~w| 17) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:35:19,563 INFO L290 TraceCheckUtils]: 27: Hoare triple {26937#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {26933#(or (<= |correct_version_#in~w| 17) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:35:19,563 INFO L290 TraceCheckUtils]: 26: Hoare triple {26937#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {26937#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:35:19,563 INFO L290 TraceCheckUtils]: 25: Hoare triple {26944#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {26937#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:35:19,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {26944#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {26944#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:35:19,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {26951#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {26944#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:35:19,564 INFO L290 TraceCheckUtils]: 22: Hoare triple {26951#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {26951#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:35:19,565 INFO L290 TraceCheckUtils]: 21: Hoare triple {26958#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {26951#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:35:19,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {26958#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {26958#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:35:19,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {26965#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {26958#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:35:19,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {26965#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {26965#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:35:19,566 INFO L290 TraceCheckUtils]: 17: Hoare triple {26972#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {26965#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:35:19,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {26972#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {26972#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:35:19,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {26979#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {26972#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:35:19,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {26979#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {26979#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:35:19,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {26986#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {26979#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:35:19,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {26986#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {26986#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:35:19,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {26993#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {26986#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:35:19,569 INFO L290 TraceCheckUtils]: 10: Hoare triple {26993#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {26993#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {27000#(or (<= |correct_version_#in~w| 17) (<= 18 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {26993#(or (<= |correct_version_#in~w| 17) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {26510#true} ~w := #in~w;~is_divisible~0 := ~true~0; {27000#(or (<= |correct_version_#in~w| 17) (<= 18 correct_version_~w))} is VALID [2022-04-08 10:35:19,570 INFO L272 TraceCheckUtils]: 7: Hoare triple {26510#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {26510#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {26510#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {26510#true} is VALID [2022-04-08 10:35:19,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {26510#true} call ULTIMATE.init(); {26510#true} is VALID [2022-04-08 10:35:19,571 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:19,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1235353626] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:19,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:19,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 75 [2022-04-08 10:35:19,571 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:19,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2137817289] [2022-04-08 10:35:19,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2137817289] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:19,572 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:19,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-08 10:35:19,572 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [243141607] [2022-04-08 10:35:19,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:19,572 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 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 65 [2022-04-08 10:35:19,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:19,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:19,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:19,614 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-08 10:35:19,614 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:19,614 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-08 10:35:19,615 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=887, Invalid=4663, Unknown=0, NotChecked=0, Total=5550 [2022-04-08 10:35:19,615 INFO L87 Difference]: Start difference. First operand 74 states and 77 transitions. Second operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:21,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:21,321 INFO L93 Difference]: Finished difference Result 94 states and 101 transitions. [2022-04-08 10:35:21,321 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-08 10:35:21,321 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 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 65 [2022-04-08 10:35:21,321 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:21,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:21,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 96 transitions. [2022-04-08 10:35:21,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:21,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 96 transitions. [2022-04-08 10:35:21,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 96 transitions. [2022-04-08 10:35:21,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:21,428 INFO L225 Difference]: With dead ends: 94 [2022-04-08 10:35:21,428 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 10:35:21,429 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 83 SyntacticMatches, 5 SemanticMatches, 99 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4300 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=1547, Invalid=8553, Unknown=0, NotChecked=0, Total=10100 [2022-04-08 10:35:21,429 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 107 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 388 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 424 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 388 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:21,429 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 52 Invalid, 424 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 388 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:35:21,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 10:35:22,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 77. [2022-04-08 10:35:22,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:22,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:22,065 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:22,065 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:22,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:22,066 INFO L93 Difference]: Finished difference Result 83 states and 89 transitions. [2022-04-08 10:35:22,067 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 89 transitions. [2022-04-08 10:35:22,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:22,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:22,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:35:22,067 INFO L87 Difference]: Start difference. First operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:35:22,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:22,068 INFO L93 Difference]: Finished difference Result 83 states and 89 transitions. [2022-04-08 10:35:22,068 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 89 transitions. [2022-04-08 10:35:22,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:22,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:22,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:22,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:22,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 65 states have (on average 1.0769230769230769) internal successors, (70), 67 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:22,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 81 transitions. [2022-04-08 10:35:22,070 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 81 transitions. Word has length 65 [2022-04-08 10:35:22,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:22,070 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 81 transitions. [2022-04-08 10:35:22,070 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:22,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 81 transitions. [2022-04-08 10:35:22,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:22,218 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 81 transitions. [2022-04-08 10:35:22,219 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-08 10:35:22,219 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:22,219 INFO L499 BasicCegarLoop]: trace histogram [9, 9, 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] [2022-04-08 10:35:22,241 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:22,419 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-08 10:35:22,419 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:22,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:22,420 INFO L85 PathProgramCache]: Analyzing trace with hash 336446803, now seen corresponding path program 31 times [2022-04-08 10:35:22,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:22,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1084232286] [2022-04-08 10:35:22,423 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:22,423 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:22,423 INFO L85 PathProgramCache]: Analyzing trace with hash 336446803, now seen corresponding path program 32 times [2022-04-08 10:35:22,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:22,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1979345577] [2022-04-08 10:35:22,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:22,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:22,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:22,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:22,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:22,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {27643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {27587#true} is VALID [2022-04-08 10:35:22,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-08 10:35:22,475 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-08 10:35:22,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:22,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:22,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {27587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {27644#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:22,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {27644#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,650 INFO L290 TraceCheckUtils]: 4: Hoare triple {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,653 INFO L290 TraceCheckUtils]: 10: Hoare triple {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,656 INFO L290 TraceCheckUtils]: 16: Hoare triple {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} #res := ~is_divisible~0; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,660 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {27655#(<= 18 |correct_version_#in~w|)} {27587#true} #87#return; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:22,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-08 10:35:22,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:22,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {27587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {27656#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:22,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {27656#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:22,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:22,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,893 INFO L290 TraceCheckUtils]: 4: Hoare triple {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:22,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:22,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,896 INFO L290 TraceCheckUtils]: 10: Hoare triple {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,896 INFO L290 TraceCheckUtils]: 11: Hoare triple {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:22,896 INFO L290 TraceCheckUtils]: 12: Hoare triple {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:22,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:22,898 INFO L290 TraceCheckUtils]: 16: Hoare triple {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:22,898 INFO L290 TraceCheckUtils]: 17: Hoare triple {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:22,899 INFO L290 TraceCheckUtils]: 18: Hoare triple {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:22,899 INFO L290 TraceCheckUtils]: 19: Hoare triple {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {27666#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:35:22,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {27666#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {27667#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:35:22,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {27667#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {27668#(<= |student_version_#in~w| 17)} #res := ~is_divisible~1; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,901 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {27668#(<= |student_version_#in~w| 17)} {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} #89#return; {27588#false} is VALID [2022-04-08 10:35:22,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {27587#true} call ULTIMATE.init(); {27643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:22,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {27643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {27587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-08 10:35:22,902 INFO L272 TraceCheckUtils]: 7: Hoare triple {27587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:22,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {27587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {27644#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:22,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {27644#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,903 INFO L290 TraceCheckUtils]: 10: Hoare triple {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {27645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {27646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,905 INFO L290 TraceCheckUtils]: 14: Hoare triple {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,905 INFO L290 TraceCheckUtils]: 15: Hoare triple {27647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,906 INFO L290 TraceCheckUtils]: 17: Hoare triple {27648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {27649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,907 INFO L290 TraceCheckUtils]: 20: Hoare triple {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,908 INFO L290 TraceCheckUtils]: 21: Hoare triple {27650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,908 INFO L290 TraceCheckUtils]: 23: Hoare triple {27651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,909 INFO L290 TraceCheckUtils]: 24: Hoare triple {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {27652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:22,910 INFO L290 TraceCheckUtils]: 27: Hoare triple {27653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,910 INFO L290 TraceCheckUtils]: 28: Hoare triple {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:22,911 INFO L290 TraceCheckUtils]: 29: Hoare triple {27654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,911 INFO L290 TraceCheckUtils]: 30: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} #res := ~is_divisible~0; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,911 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:22,912 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27655#(<= 18 |correct_version_#in~w|)} {27587#true} #87#return; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:22,913 INFO L290 TraceCheckUtils]: 33: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:22,913 INFO L272 TraceCheckUtils]: 34: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:22,913 INFO L290 TraceCheckUtils]: 35: Hoare triple {27587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {27656#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:22,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {27656#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:22,914 INFO L290 TraceCheckUtils]: 37: Hoare triple {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:22,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {27657#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {27658#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,921 INFO L290 TraceCheckUtils]: 42: Hoare triple {27659#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:22,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:22,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {27660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,922 INFO L290 TraceCheckUtils]: 46: Hoare triple {27661#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:22,923 INFO L290 TraceCheckUtils]: 47: Hoare triple {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:22,923 INFO L290 TraceCheckUtils]: 48: Hoare triple {27662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,923 INFO L290 TraceCheckUtils]: 49: Hoare triple {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:22,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {27663#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:22,924 INFO L290 TraceCheckUtils]: 51: Hoare triple {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:22,925 INFO L290 TraceCheckUtils]: 52: Hoare triple {27664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:22,925 INFO L290 TraceCheckUtils]: 53: Hoare triple {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:22,925 INFO L290 TraceCheckUtils]: 54: Hoare triple {27665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {27666#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:35:22,926 INFO L290 TraceCheckUtils]: 55: Hoare triple {27666#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {27667#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:35:22,926 INFO L290 TraceCheckUtils]: 56: Hoare triple {27667#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 18) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,927 INFO L290 TraceCheckUtils]: 57: Hoare triple {27668#(<= |student_version_#in~w| 17)} #res := ~is_divisible~1; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,927 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:22,928 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27668#(<= |student_version_#in~w| 17)} {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} #89#return; {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L290 TraceCheckUtils]: 60: Hoare triple {27588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L272 TraceCheckUtils]: 61: Hoare triple {27588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-08 10:35:22,928 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:22,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:22,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1979345577] [2022-04-08 10:35:22,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1979345577] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:22,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554140472] [2022-04-08 10:35:22,929 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:35:22,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:22,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:22,932 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:22,940 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-08 10:35:23,018 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:35:23,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:23,019 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 10:35:23,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:23,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:24,308 INFO L272 TraceCheckUtils]: 0: Hoare triple {27587#true} call ULTIMATE.init(); {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {27587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {27587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-08 10:35:24,308 INFO L272 TraceCheckUtils]: 7: Hoare triple {27587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:24,309 INFO L290 TraceCheckUtils]: 8: Hoare triple {27587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {27696#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:35:24,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {27696#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {27700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,309 INFO L290 TraceCheckUtils]: 10: Hoare triple {27700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {27700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {27700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {27707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {27707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {27707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {27714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {27714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {27714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:24,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {27721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {27721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:24,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {27721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {27728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {27728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {27728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,313 INFO L290 TraceCheckUtils]: 19: Hoare triple {27728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:24,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {27735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {27735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:24,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {27735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {27742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {27742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {27742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {27742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {27749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {27749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {27749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,316 INFO L290 TraceCheckUtils]: 26: Hoare triple {27756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {27756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,316 INFO L290 TraceCheckUtils]: 27: Hoare triple {27756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {27763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,316 INFO L290 TraceCheckUtils]: 28: Hoare triple {27763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !(~i~0 < ~w); {27763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:35:24,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {27763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !(~i~0 != ~w); {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:24,317 INFO L290 TraceCheckUtils]: 30: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} #res := ~is_divisible~0; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:24,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:24,318 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27655#(<= 18 |correct_version_#in~w|)} {27587#true} #87#return; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:24,319 INFO L290 TraceCheckUtils]: 33: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:24,319 INFO L272 TraceCheckUtils]: 34: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:24,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {27587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {27788#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:24,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {27788#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {27792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:24,320 INFO L290 TraceCheckUtils]: 37: Hoare triple {27792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {27792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:24,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {27792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {27799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:24,321 INFO L290 TraceCheckUtils]: 39: Hoare triple {27799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {27799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:24,321 INFO L290 TraceCheckUtils]: 40: Hoare triple {27799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {27806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:24,321 INFO L290 TraceCheckUtils]: 41: Hoare triple {27806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {27806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:24,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {27806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {27813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:24,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {27813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {27813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:24,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {27813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {27820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:24,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {27820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {27820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:24,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {27820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {27827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:24,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {27827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {27827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:24,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {27827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {27834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:24,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {27834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {27834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:24,325 INFO L290 TraceCheckUtils]: 50: Hoare triple {27834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {27841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:24,325 INFO L290 TraceCheckUtils]: 51: Hoare triple {27841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {27841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:24,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {27841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {27848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:24,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {27848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {27848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:24,326 INFO L290 TraceCheckUtils]: 54: Hoare triple {27848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {27855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:35:24,327 INFO L290 TraceCheckUtils]: 55: Hoare triple {27855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !(~i~1 < ~w); {27859#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:35:24,327 INFO L290 TraceCheckUtils]: 56: Hoare triple {27859#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 18))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:24,328 INFO L290 TraceCheckUtils]: 57: Hoare triple {27668#(<= |student_version_#in~w| 17)} #res := ~is_divisible~1; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:24,328 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:24,329 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27668#(<= |student_version_#in~w| 17)} {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} #89#return; {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L290 TraceCheckUtils]: 60: Hoare triple {27588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L272 TraceCheckUtils]: 61: Hoare triple {27588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-08 10:35:24,329 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:24,329 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:33,286 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-08 10:35:33,286 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-08 10:35:33,286 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-08 10:35:33,286 INFO L272 TraceCheckUtils]: 61: Hoare triple {27588#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {27588#false} is VALID [2022-04-08 10:35:33,286 INFO L290 TraceCheckUtils]: 60: Hoare triple {27588#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {27588#false} is VALID [2022-04-08 10:35:33,287 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27668#(<= |student_version_#in~w| 17)} {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} #89#return; {27588#false} is VALID [2022-04-08 10:35:33,287 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:33,288 INFO L290 TraceCheckUtils]: 57: Hoare triple {27668#(<= |student_version_#in~w| 17)} #res := ~is_divisible~1; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:33,288 INFO L290 TraceCheckUtils]: 56: Hoare triple {27914#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 17))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-08 10:35:33,288 INFO L290 TraceCheckUtils]: 55: Hoare triple {27918#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 17) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {27914#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,289 INFO L290 TraceCheckUtils]: 54: Hoare triple {27922#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27918#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 17) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:35:33,289 INFO L290 TraceCheckUtils]: 53: Hoare triple {27922#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27922#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {27929#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27922#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {27929#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27929#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,290 INFO L290 TraceCheckUtils]: 50: Hoare triple {27936#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27929#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,291 INFO L290 TraceCheckUtils]: 49: Hoare triple {27936#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27936#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,291 INFO L290 TraceCheckUtils]: 48: Hoare triple {27943#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27936#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,292 INFO L290 TraceCheckUtils]: 47: Hoare triple {27943#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27943#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,292 INFO L290 TraceCheckUtils]: 46: Hoare triple {27950#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27943#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,292 INFO L290 TraceCheckUtils]: 45: Hoare triple {27950#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27950#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {27957#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27950#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,293 INFO L290 TraceCheckUtils]: 43: Hoare triple {27957#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27957#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,293 INFO L290 TraceCheckUtils]: 42: Hoare triple {27964#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27957#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,294 INFO L290 TraceCheckUtils]: 41: Hoare triple {27964#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27964#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {27971#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27964#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {27971#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27971#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,295 INFO L290 TraceCheckUtils]: 38: Hoare triple {27978#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 17))} ~i~1 := 2 + ~i~1; {27971#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {27978#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 17))} assume !!(~i~1 < ~w); {27978#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {27985#(or (<= 18 student_version_~w) (<= |student_version_#in~w| 17))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {27978#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,296 INFO L290 TraceCheckUtils]: 35: Hoare triple {27587#true} ~w := #in~w;~is_divisible~1 := ~true~0; {27985#(or (<= 18 student_version_~w) (<= |student_version_#in~w| 17))} is VALID [2022-04-08 10:35:33,296 INFO L272 TraceCheckUtils]: 34: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:33,297 INFO L290 TraceCheckUtils]: 33: Hoare triple {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:33,297 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27655#(<= 18 |correct_version_#in~w|)} {27587#true} #87#return; {27617#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 18) main_~w~0))} is VALID [2022-04-08 10:35:33,298 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:33,298 INFO L290 TraceCheckUtils]: 30: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} #res := ~is_divisible~0; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:33,298 INFO L290 TraceCheckUtils]: 29: Hoare triple {28007#(or (<= 18 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:33,299 INFO L290 TraceCheckUtils]: 28: Hoare triple {28007#(or (<= 18 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {28007#(or (<= 18 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:35:33,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {28014#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 18 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {28007#(or (<= 18 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:35:33,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {28014#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 18 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {28014#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {28021#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {28014#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {28021#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {28021#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:35:33,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {28028#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {28021#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:35:33,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {28028#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {28028#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:33,302 INFO L290 TraceCheckUtils]: 21: Hoare triple {28035#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 18 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {28028#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:33,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {28035#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 18 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {28035#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {28042#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 18 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {28035#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,303 INFO L290 TraceCheckUtils]: 18: Hoare triple {28042#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 18 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {28042#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {28049#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {28042#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {28049#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {28049#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:33,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {28056#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {28049#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:33,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {28056#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {28056#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:33,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {28063#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {28056#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:33,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {28063#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {28063#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:33,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {28070#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {28063#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:33,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {28070#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {28070#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:33,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {28077#(or (< correct_version_~w 18) (<= 18 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {28070#(or (<= 18 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:33,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {27587#true} ~w := #in~w;~is_divisible~0 := ~true~0; {28077#(or (< correct_version_~w 18) (<= 18 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:33,312 INFO L272 TraceCheckUtils]: 7: Hoare triple {27587#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {27587#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {27587#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {27587#true} is VALID [2022-04-08 10:35:33,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {27587#true} call ULTIMATE.init(); {27587#true} is VALID [2022-04-08 10:35:33,313 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 81 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:33,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554140472] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:33,313 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:33,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 75 [2022-04-08 10:35:33,313 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:33,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1084232286] [2022-04-08 10:35:33,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1084232286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:33,313 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:33,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-08 10:35:33,313 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623174934] [2022-04-08 10:35:33,313 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:33,314 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 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 65 [2022-04-08 10:35:33,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:33,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:33,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:33,356 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-08 10:35:33,356 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:33,356 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-08 10:35:33,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=887, Invalid=4663, Unknown=0, NotChecked=0, Total=5550 [2022-04-08 10:35:33,357 INFO L87 Difference]: Start difference. First operand 77 states and 81 transitions. Second operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:35,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:35,293 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-04-08 10:35:35,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-08 10:35:35,293 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 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 65 [2022-04-08 10:35:35,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:35,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:35,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 89 transitions. [2022-04-08 10:35:35,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:35,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 89 transitions. [2022-04-08 10:35:35,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 89 transitions. [2022-04-08 10:35:35,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:35,377 INFO L225 Difference]: With dead ends: 89 [2022-04-08 10:35:35,377 INFO L226 Difference]: Without dead ends: 80 [2022-04-08 10:35:35,378 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 83 SyntacticMatches, 5 SemanticMatches, 99 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4310 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=1547, Invalid=8553, Unknown=0, NotChecked=0, Total=10100 [2022-04-08 10:35:35,378 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 94 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 547 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 582 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 547 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:35,378 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 75 Invalid, 582 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 547 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:35:35,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-08 10:35:35,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-04-08 10:35:35,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:35,939 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:35,939 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:35,939 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:35,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:35,940 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2022-04-08 10:35:35,940 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-08 10:35:35,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:35,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:35,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 80 states. [2022-04-08 10:35:35,940 INFO L87 Difference]: Start difference. First operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 80 states. [2022-04-08 10:35:35,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:35,941 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2022-04-08 10:35:35,941 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-08 10:35:35,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:35,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:35,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:35,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:35,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 68 states have (on average 1.088235294117647) internal successors, (74), 70 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:35,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 85 transitions. [2022-04-08 10:35:35,943 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 85 transitions. Word has length 65 [2022-04-08 10:35:35,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:35,943 INFO L478 AbstractCegarLoop]: Abstraction has 80 states and 85 transitions. [2022-04-08 10:35:35,943 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.9655172413793103) internal successors, (57), 28 states have internal predecessors, (57), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:35,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 80 states and 85 transitions. [2022-04-08 10:35:36,084 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-08 10:35:36,084 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-08 10:35:36,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 10:35:36,084 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:36,084 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 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] [2022-04-08 10:35:36,107 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:36,307 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable37 [2022-04-08 10:35:36,307 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:36,307 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:36,307 INFO L85 PathProgramCache]: Analyzing trace with hash -524390571, now seen corresponding path program 33 times [2022-04-08 10:35:36,307 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:36,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [577651608] [2022-04-08 10:35:36,347 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:36,347 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:36,347 INFO L85 PathProgramCache]: Analyzing trace with hash -524390571, now seen corresponding path program 34 times [2022-04-08 10:35:36,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:36,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [274854504] [2022-04-08 10:35:36,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:36,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:36,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:36,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:36,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:36,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {28712#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {28654#true} is VALID [2022-04-08 10:35:36,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-08 10:35:36,443 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-08 10:35:36,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:36,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:36,601 INFO L290 TraceCheckUtils]: 0: Hoare triple {28654#true} ~w := #in~w;~is_divisible~0 := ~true~0; {28713#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:36,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {28713#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,602 INFO L290 TraceCheckUtils]: 3: Hoare triple {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,602 INFO L290 TraceCheckUtils]: 4: Hoare triple {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:36,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:36,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:36,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:36,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28723#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:36,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {28723#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !(~i~0 < ~w); {28724#(and (<= correct_version_~w 18) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {28724#(and (<= correct_version_~w 18) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {28725#(<= |correct_version_#in~w| 18)} #res := ~is_divisible~0; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,610 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {28725#(<= |correct_version_#in~w| 18)} {28654#true} #87#return; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:36,611 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-08 10:35:36,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:36,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {28654#true} ~w := #in~w;~is_divisible~1 := ~true~0; {28726#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:36,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {28726#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:36,831 INFO L290 TraceCheckUtils]: 6: Hoare triple {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:36,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:36,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:36,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:36,833 INFO L290 TraceCheckUtils]: 10: Hoare triple {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:36,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:36,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:36,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,838 INFO L290 TraceCheckUtils]: 19: Hoare triple {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28736#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {28736#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} ~i~1 := 2 + ~i~1; {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} assume !(~i~1 < ~w); {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,840 INFO L290 TraceCheckUtils]: 24: Hoare triple {28738#(<= 19 |student_version_#in~w|)} #res := ~is_divisible~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,841 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {28738#(<= 19 |student_version_#in~w|)} {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {28655#false} is VALID [2022-04-08 10:35:36,842 INFO L272 TraceCheckUtils]: 0: Hoare triple {28654#true} call ULTIMATE.init(); {28712#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:36,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {28712#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {28654#true} is VALID [2022-04-08 10:35:36,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-08 10:35:36,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-08 10:35:36,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-08 10:35:36,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {28654#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {28654#true} is VALID [2022-04-08 10:35:36,843 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-08 10:35:36,843 INFO L272 TraceCheckUtils]: 7: Hoare triple {28654#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:36,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {28654#true} ~w := #in~w;~is_divisible~0 := ~true~0; {28713#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:36,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {28713#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,844 INFO L290 TraceCheckUtils]: 10: Hoare triple {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {28714#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,845 INFO L290 TraceCheckUtils]: 12: Hoare triple {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {28715#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {28716#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,847 INFO L290 TraceCheckUtils]: 17: Hoare triple {28717#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:36,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:36,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {28718#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {28719#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,850 INFO L290 TraceCheckUtils]: 23: Hoare triple {28720#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:36,851 INFO L290 TraceCheckUtils]: 24: Hoare triple {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:36,851 INFO L290 TraceCheckUtils]: 25: Hoare triple {28721#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {28722#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {28723#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:36,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {28723#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !(~i~0 < ~w); {28724#(and (<= correct_version_~w 18) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:36,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {28724#(and (<= correct_version_~w 18) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {28725#(<= |correct_version_#in~w| 18)} #res := ~is_divisible~0; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:36,855 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {28725#(<= |correct_version_#in~w| 18)} {28654#true} #87#return; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:36,856 INFO L290 TraceCheckUtils]: 33: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:36,856 INFO L272 TraceCheckUtils]: 34: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:36,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {28654#true} ~w := #in~w;~is_divisible~1 := ~true~0; {28726#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:36,856 INFO L290 TraceCheckUtils]: 36: Hoare triple {28726#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,857 INFO L290 TraceCheckUtils]: 38: Hoare triple {28727#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,858 INFO L290 TraceCheckUtils]: 39: Hoare triple {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,858 INFO L290 TraceCheckUtils]: 40: Hoare triple {28728#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:36,859 INFO L290 TraceCheckUtils]: 41: Hoare triple {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:36,859 INFO L290 TraceCheckUtils]: 42: Hoare triple {28729#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:36,860 INFO L290 TraceCheckUtils]: 43: Hoare triple {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:36,860 INFO L290 TraceCheckUtils]: 44: Hoare triple {28730#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:36,861 INFO L290 TraceCheckUtils]: 45: Hoare triple {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:36,861 INFO L290 TraceCheckUtils]: 46: Hoare triple {28731#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,862 INFO L290 TraceCheckUtils]: 47: Hoare triple {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,862 INFO L290 TraceCheckUtils]: 48: Hoare triple {28732#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:36,863 INFO L290 TraceCheckUtils]: 49: Hoare triple {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:36,863 INFO L290 TraceCheckUtils]: 50: Hoare triple {28733#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,864 INFO L290 TraceCheckUtils]: 51: Hoare triple {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,864 INFO L290 TraceCheckUtils]: 52: Hoare triple {28734#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,865 INFO L290 TraceCheckUtils]: 53: Hoare triple {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,865 INFO L290 TraceCheckUtils]: 54: Hoare triple {28735#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {28736#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:36,866 INFO L290 TraceCheckUtils]: 55: Hoare triple {28736#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,866 INFO L290 TraceCheckUtils]: 56: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} ~i~1 := 2 + ~i~1; {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,866 INFO L290 TraceCheckUtils]: 57: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} assume !(~i~1 < ~w); {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} is VALID [2022-04-08 10:35:36,867 INFO L290 TraceCheckUtils]: 58: Hoare triple {28737#(and (= |student_version_#in~w| student_version_~w) (<= 19 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,867 INFO L290 TraceCheckUtils]: 59: Hoare triple {28738#(<= 19 |student_version_#in~w|)} #res := ~is_divisible~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,868 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:36,869 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {28738#(<= 19 |student_version_#in~w|)} {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {28655#false} is VALID [2022-04-08 10:35:36,869 INFO L290 TraceCheckUtils]: 62: Hoare triple {28655#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {28655#false} is VALID [2022-04-08 10:35:36,869 INFO L272 TraceCheckUtils]: 63: Hoare triple {28655#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {28655#false} is VALID [2022-04-08 10:35:36,869 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-08 10:35:36,869 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-08 10:35:36,869 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-08 10:35:36,870 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 81 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:36,870 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:36,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [274854504] [2022-04-08 10:35:36,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [274854504] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:36,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1758859044] [2022-04-08 10:35:36,870 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:35:36,870 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:36,870 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:36,871 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:36,873 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-08 10:35:36,989 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:35:36,989 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:36,990 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:35:37,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:37,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:37,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {28654#true} call ULTIMATE.init(); {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {28654#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {28654#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {28654#true} is VALID [2022-04-08 10:35:37,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-08 10:35:37,922 INFO L272 TraceCheckUtils]: 7: Hoare triple {28654#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:37,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {28654#true} ~w := #in~w;~is_divisible~0 := ~true~0; {28766#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:37,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {28766#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {28770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:37,923 INFO L290 TraceCheckUtils]: 10: Hoare triple {28770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {28770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:37,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {28770#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {28777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:37,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {28777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {28777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:37,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {28777#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {28784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:37,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {28784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {28784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:37,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {28784#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {28791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:37,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {28791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {28791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:37,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {28791#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {28798#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:37,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {28798#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {28798#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:37,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {28798#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {28805#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:37,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {28805#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {28805#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:37,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {28805#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {28812#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:37,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {28812#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {28812#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:37,928 INFO L290 TraceCheckUtils]: 23: Hoare triple {28812#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {28819#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:37,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {28819#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {28819#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:37,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {28819#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {28826#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:37,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {28826#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {28826#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:37,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {28826#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {28833#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:37,930 INFO L290 TraceCheckUtils]: 28: Hoare triple {28833#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !(~i~0 < ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:37,930 INFO L290 TraceCheckUtils]: 29: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume !(~i~0 != ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:37,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {28725#(<= |correct_version_#in~w| 18)} #res := ~is_divisible~0; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:37,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:37,931 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {28725#(<= |correct_version_#in~w| 18)} {28654#true} #87#return; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:37,932 INFO L290 TraceCheckUtils]: 33: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:37,932 INFO L272 TraceCheckUtils]: 34: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:37,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {28654#true} ~w := #in~w;~is_divisible~1 := ~true~0; {28858#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {28858#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {28862#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {28862#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28862#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,933 INFO L290 TraceCheckUtils]: 38: Hoare triple {28862#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28869#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,934 INFO L290 TraceCheckUtils]: 39: Hoare triple {28869#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28869#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,934 INFO L290 TraceCheckUtils]: 40: Hoare triple {28869#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28876#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:37,934 INFO L290 TraceCheckUtils]: 41: Hoare triple {28876#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {28876#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:37,935 INFO L290 TraceCheckUtils]: 42: Hoare triple {28876#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {28883#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,935 INFO L290 TraceCheckUtils]: 43: Hoare triple {28883#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28883#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,935 INFO L290 TraceCheckUtils]: 44: Hoare triple {28883#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28890#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,936 INFO L290 TraceCheckUtils]: 45: Hoare triple {28890#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28890#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,936 INFO L290 TraceCheckUtils]: 46: Hoare triple {28890#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28897#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,937 INFO L290 TraceCheckUtils]: 47: Hoare triple {28897#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28897#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,937 INFO L290 TraceCheckUtils]: 48: Hoare triple {28897#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28904#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,937 INFO L290 TraceCheckUtils]: 49: Hoare triple {28904#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28904#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,938 INFO L290 TraceCheckUtils]: 50: Hoare triple {28904#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28911#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,938 INFO L290 TraceCheckUtils]: 51: Hoare triple {28911#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28911#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,939 INFO L290 TraceCheckUtils]: 52: Hoare triple {28911#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28918#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,939 INFO L290 TraceCheckUtils]: 53: Hoare triple {28918#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28918#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,939 INFO L290 TraceCheckUtils]: 54: Hoare triple {28918#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28925#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:37,940 INFO L290 TraceCheckUtils]: 55: Hoare triple {28925#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,940 INFO L290 TraceCheckUtils]: 56: Hoare triple {28738#(<= 19 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,940 INFO L290 TraceCheckUtils]: 57: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume !(~i~1 < ~w); {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,941 INFO L290 TraceCheckUtils]: 58: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,941 INFO L290 TraceCheckUtils]: 59: Hoare triple {28738#(<= 19 |student_version_#in~w|)} #res := ~is_divisible~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,941 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:37,942 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {28738#(<= 19 |student_version_#in~w|)} {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {28655#false} is VALID [2022-04-08 10:35:37,942 INFO L290 TraceCheckUtils]: 62: Hoare triple {28655#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {28655#false} is VALID [2022-04-08 10:35:37,942 INFO L272 TraceCheckUtils]: 63: Hoare triple {28655#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {28655#false} is VALID [2022-04-08 10:35:37,942 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-08 10:35:37,942 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-08 10:35:37,942 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-08 10:35:37,943 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 81 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:37,943 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:42,333 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-08 10:35:42,333 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-08 10:35:42,333 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-08 10:35:42,333 INFO L272 TraceCheckUtils]: 63: Hoare triple {28655#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {28655#false} is VALID [2022-04-08 10:35:42,334 INFO L290 TraceCheckUtils]: 62: Hoare triple {28655#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {28655#false} is VALID [2022-04-08 10:35:42,334 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {28738#(<= 19 |student_version_#in~w|)} {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {28655#false} is VALID [2022-04-08 10:35:42,335 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,335 INFO L290 TraceCheckUtils]: 59: Hoare triple {28738#(<= 19 |student_version_#in~w|)} #res := ~is_divisible~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,335 INFO L290 TraceCheckUtils]: 58: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,336 INFO L290 TraceCheckUtils]: 57: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume !(~i~1 < ~w); {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,336 INFO L290 TraceCheckUtils]: 56: Hoare triple {28738#(<= 19 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,336 INFO L290 TraceCheckUtils]: 55: Hoare triple {28998#(or (not (< student_version_~i~1 student_version_~w)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-08 10:35:42,337 INFO L290 TraceCheckUtils]: 54: Hoare triple {29002#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {28998#(or (not (< student_version_~i~1 student_version_~w)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,337 INFO L290 TraceCheckUtils]: 53: Hoare triple {29002#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29002#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,337 INFO L290 TraceCheckUtils]: 52: Hoare triple {29009#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29002#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,338 INFO L290 TraceCheckUtils]: 51: Hoare triple {29009#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29009#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,338 INFO L290 TraceCheckUtils]: 50: Hoare triple {29016#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {29009#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {29016#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {29016#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:35:42,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {29023#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29016#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:35:42,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {29023#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29023#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,340 INFO L290 TraceCheckUtils]: 46: Hoare triple {29030#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29023#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,340 INFO L290 TraceCheckUtils]: 45: Hoare triple {29030#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29030#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,340 INFO L290 TraceCheckUtils]: 44: Hoare triple {29037#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29030#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,341 INFO L290 TraceCheckUtils]: 43: Hoare triple {29037#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29037#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,341 INFO L290 TraceCheckUtils]: 42: Hoare triple {29044#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {29037#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,342 INFO L290 TraceCheckUtils]: 41: Hoare triple {29044#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {29044#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:35:42,342 INFO L290 TraceCheckUtils]: 40: Hoare triple {29051#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29044#(or (<= 19 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:35:42,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {29051#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29051#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,343 INFO L290 TraceCheckUtils]: 38: Hoare triple {29058#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 19 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {29051#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,343 INFO L290 TraceCheckUtils]: 37: Hoare triple {29058#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 19 |student_version_#in~w|))} assume !!(~i~1 < ~w); {29058#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {29065#(or (<= 19 |student_version_#in~w|) (<= student_version_~w 18))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {29058#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 19 |student_version_#in~w|))} is VALID [2022-04-08 10:35:42,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {28654#true} ~w := #in~w;~is_divisible~1 := ~true~0; {29065#(or (<= 19 |student_version_#in~w|) (<= student_version_~w 18))} is VALID [2022-04-08 10:35:42,344 INFO L272 TraceCheckUtils]: 34: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:42,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:42,345 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {28725#(<= |correct_version_#in~w| 18)} {28654#true} #87#return; {28684#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 18)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:35:42,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:42,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {28725#(<= |correct_version_#in~w| 18)} #res := ~is_divisible~0; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:42,346 INFO L290 TraceCheckUtils]: 29: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume !(~i~0 != ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:42,346 INFO L290 TraceCheckUtils]: 28: Hoare triple {29090#(or (<= |correct_version_#in~w| 18) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-08 10:35:42,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {29094#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {29090#(or (<= |correct_version_#in~w| 18) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:35:42,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {29094#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {29094#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:35:42,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {29101#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {29094#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:35:42,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {29101#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {29101#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:35:42,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {29108#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 18))} ~i~0 := 2 + ~i~0; {29101#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:35:42,349 INFO L290 TraceCheckUtils]: 22: Hoare triple {29108#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 18))} assume !!(~i~0 < ~w); {29108#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 18))} is VALID [2022-04-08 10:35:42,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {29115#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {29108#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 18))} is VALID [2022-04-08 10:35:42,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {29115#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {29115#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:35:42,350 INFO L290 TraceCheckUtils]: 19: Hoare triple {29122#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {29115#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:35:42,350 INFO L290 TraceCheckUtils]: 18: Hoare triple {29122#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {29122#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:35:42,351 INFO L290 TraceCheckUtils]: 17: Hoare triple {29129#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {29122#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:35:42,351 INFO L290 TraceCheckUtils]: 16: Hoare triple {29129#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {29129#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:35:42,352 INFO L290 TraceCheckUtils]: 15: Hoare triple {29136#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {29129#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:35:42,352 INFO L290 TraceCheckUtils]: 14: Hoare triple {29136#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {29136#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:35:42,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {29143#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {29136#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:35:42,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {29143#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {29143#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:35:42,353 INFO L290 TraceCheckUtils]: 11: Hoare triple {29150#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {29143#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:35:42,354 INFO L290 TraceCheckUtils]: 10: Hoare triple {29150#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {29150#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:35:42,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {29157#(or (<= |correct_version_#in~w| 18) (< 18 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {29150#(or (<= |correct_version_#in~w| 18) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:35:42,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {28654#true} ~w := #in~w;~is_divisible~0 := ~true~0; {29157#(or (<= |correct_version_#in~w| 18) (< 18 correct_version_~w))} is VALID [2022-04-08 10:35:42,354 INFO L272 TraceCheckUtils]: 7: Hoare triple {28654#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L290 TraceCheckUtils]: 5: Hoare triple {28654#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {28654#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L272 TraceCheckUtils]: 0: Hoare triple {28654#true} call ULTIMATE.init(); {28654#true} is VALID [2022-04-08 10:35:42,355 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 100 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:42,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1758859044] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:42,355 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:42,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 27, 27] total 74 [2022-04-08 10:35:42,356 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:42,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [577651608] [2022-04-08 10:35:42,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [577651608] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:42,356 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:42,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-08 10:35:42,356 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2118700610] [2022-04-08 10:35:42,356 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:42,356 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 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 67 [2022-04-08 10:35:42,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:42,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:42,401 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-08 10:35:42,401 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-08 10:35:42,401 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:42,401 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-08 10:35:42,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=901, Invalid=4501, Unknown=0, NotChecked=0, Total=5402 [2022-04-08 10:35:42,402 INFO L87 Difference]: Start difference. First operand 80 states and 85 transitions. Second operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:44,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:44,221 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2022-04-08 10:35:44,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:35:44,222 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 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 67 [2022-04-08 10:35:44,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:44,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:44,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 92 transitions. [2022-04-08 10:35:44,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:44,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 92 transitions. [2022-04-08 10:35:44,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 92 transitions. [2022-04-08 10:35:44,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:44,305 INFO L225 Difference]: With dead ends: 95 [2022-04-08 10:35:44,305 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 10:35:44,306 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 191 GetRequests, 89 SyntacticMatches, 5 SemanticMatches, 97 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4254 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=1548, Invalid=8154, Unknown=0, NotChecked=0, Total=9702 [2022-04-08 10:35:44,306 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 90 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 477 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 93 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 512 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 477 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:44,306 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [93 Valid, 62 Invalid, 512 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 477 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:35:44,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 10:35:44,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 79. [2022-04-08 10:35:44,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:44,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:44,851 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:44,851 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:44,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:44,852 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2022-04-08 10:35:44,852 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-08 10:35:44,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:44,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:44,853 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:35:44,853 INFO L87 Difference]: Start difference. First operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:35:44,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:44,861 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2022-04-08 10:35:44,861 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-08 10:35:44,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:44,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:44,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:44,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:44,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 67 states have (on average 1.0746268656716418) internal successors, (72), 69 states have internal predecessors, (72), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:44,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 83 transitions. [2022-04-08 10:35:44,864 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 83 transitions. Word has length 67 [2022-04-08 10:35:44,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:44,864 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 83 transitions. [2022-04-08 10:35:44,864 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:44,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 83 transitions. [2022-04-08 10:35:44,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:44,998 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-08 10:35:44,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 10:35:44,998 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:44,998 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 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] [2022-04-08 10:35:45,016 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:45,199 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-08 10:35:45,199 INFO L403 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:45,199 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:45,199 INFO L85 PathProgramCache]: Analyzing trace with hash 95472949, now seen corresponding path program 33 times [2022-04-08 10:35:45,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:45,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1876961951] [2022-04-08 10:35:45,201 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:45,202 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:45,202 INFO L85 PathProgramCache]: Analyzing trace with hash 95472949, now seen corresponding path program 34 times [2022-04-08 10:35:45,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:45,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [254422885] [2022-04-08 10:35:45,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:45,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:45,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:45,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:45,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:45,248 INFO L290 TraceCheckUtils]: 0: Hoare triple {29806#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {29748#true} is VALID [2022-04-08 10:35:45,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-08 10:35:45,249 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-08 10:35:45,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:45,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:45,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {29748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {29807#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:45,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {29807#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,413 INFO L290 TraceCheckUtils]: 3: Hoare triple {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,413 INFO L290 TraceCheckUtils]: 4: Hoare triple {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,414 INFO L290 TraceCheckUtils]: 6: Hoare triple {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,416 INFO L290 TraceCheckUtils]: 10: Hoare triple {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29817#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {29817#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} ~i~0 := 2 + ~i~0; {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} assume !(~i~0 < ~w); {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} #res := ~is_divisible~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,422 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29819#(<= 19 |correct_version_#in~w|)} {29748#true} #87#return; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:45,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 10:35:45,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:45,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {29748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {29820#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:45,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {29820#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:45,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:45,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,649 INFO L290 TraceCheckUtils]: 4: Hoare triple {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,650 INFO L290 TraceCheckUtils]: 6: Hoare triple {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:45,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:45,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:45,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:45,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:45,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:45,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:45,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:45,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {29830#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:35:45,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {29830#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !(~i~1 < ~w); {29831#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 18))} is VALID [2022-04-08 10:35:45,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {29831#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 18))} assume !(~i~1 != ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {29832#(<= |student_version_#in~w| 18)} #res := ~is_divisible~1; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,656 INFO L290 TraceCheckUtils]: 23: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,657 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {29832#(<= |student_version_#in~w| 18)} {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} #89#return; {29749#false} is VALID [2022-04-08 10:35:45,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {29748#true} call ULTIMATE.init(); {29806#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:45,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {29806#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {29748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-08 10:35:45,658 INFO L272 TraceCheckUtils]: 7: Hoare triple {29748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:45,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {29748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {29807#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:45,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {29807#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {29808#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {29809#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {29810#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {29811#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {29812#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {29813#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {29814#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {29815#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:45,673 INFO L290 TraceCheckUtils]: 27: Hoare triple {29816#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29817#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:45,674 INFO L290 TraceCheckUtils]: 28: Hoare triple {29817#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,674 INFO L290 TraceCheckUtils]: 29: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} ~i~0 := 2 + ~i~0; {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} assume !(~i~0 < ~w); {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} is VALID [2022-04-08 10:35:45,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {29818#(and (= |correct_version_#in~w| correct_version_~w) (<= 19 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,676 INFO L290 TraceCheckUtils]: 32: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} #res := ~is_divisible~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,676 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:45,677 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {29819#(<= 19 |correct_version_#in~w|)} {29748#true} #87#return; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:45,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:45,678 INFO L272 TraceCheckUtils]: 36: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:45,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {29748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {29820#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:45,679 INFO L290 TraceCheckUtils]: 38: Hoare triple {29820#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:45,679 INFO L290 TraceCheckUtils]: 39: Hoare triple {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:45,680 INFO L290 TraceCheckUtils]: 40: Hoare triple {29821#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,680 INFO L290 TraceCheckUtils]: 41: Hoare triple {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {29822#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,681 INFO L290 TraceCheckUtils]: 43: Hoare triple {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {29823#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:45,682 INFO L290 TraceCheckUtils]: 45: Hoare triple {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:45,682 INFO L290 TraceCheckUtils]: 46: Hoare triple {29824#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {29825#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:45,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:45,684 INFO L290 TraceCheckUtils]: 50: Hoare triple {29826#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,684 INFO L290 TraceCheckUtils]: 51: Hoare triple {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:45,684 INFO L290 TraceCheckUtils]: 52: Hoare triple {29827#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:45,685 INFO L290 TraceCheckUtils]: 53: Hoare triple {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:45,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {29828#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:45,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:45,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {29829#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {29830#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:35:45,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {29830#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !(~i~1 < ~w); {29831#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 18))} is VALID [2022-04-08 10:35:45,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {29831#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 18))} assume !(~i~1 != ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {29832#(<= |student_version_#in~w| 18)} #res := ~is_divisible~1; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,687 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:45,688 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29832#(<= |student_version_#in~w| 18)} {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} #89#return; {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {29749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L272 TraceCheckUtils]: 63: Hoare triple {29749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-08 10:35:45,688 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 81 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:45,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:45,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [254422885] [2022-04-08 10:35:45,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [254422885] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:45,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [221295774] [2022-04-08 10:35:45,689 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:35:45,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:45,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:45,690 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:45,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-08 10:35:45,774 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:35:45,774 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:45,775 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:35:45,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:45,790 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:46,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {29748#true} call ULTIMATE.init(); {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {29748#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {29748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L272 TraceCheckUtils]: 7: Hoare triple {29748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:46,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {29748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {29860#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {29860#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {29864#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,935 INFO L290 TraceCheckUtils]: 10: Hoare triple {29864#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {29864#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {29864#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29871#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {29871#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {29871#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {29871#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29878#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {29878#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {29878#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {29878#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29885#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:46,938 INFO L290 TraceCheckUtils]: 16: Hoare triple {29885#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {29885#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:46,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {29885#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {29892#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,938 INFO L290 TraceCheckUtils]: 18: Hoare triple {29892#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {29892#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {29892#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29899#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:46,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {29899#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {29899#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:35:46,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {29899#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {29906#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {29906#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {29906#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,940 INFO L290 TraceCheckUtils]: 23: Hoare triple {29906#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29913#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,941 INFO L290 TraceCheckUtils]: 24: Hoare triple {29913#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {29913#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {29913#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29920#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,941 INFO L290 TraceCheckUtils]: 26: Hoare triple {29920#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {29920#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,942 INFO L290 TraceCheckUtils]: 27: Hoare triple {29920#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {29927#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:35:46,942 INFO L290 TraceCheckUtils]: 28: Hoare triple {29927#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,943 INFO L290 TraceCheckUtils]: 29: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,943 INFO L290 TraceCheckUtils]: 30: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume !(~i~0 < ~w); {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,943 INFO L290 TraceCheckUtils]: 31: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,943 INFO L290 TraceCheckUtils]: 32: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} #res := ~is_divisible~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:46,945 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {29819#(<= 19 |correct_version_#in~w|)} {29748#true} #87#return; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:46,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:46,945 INFO L272 TraceCheckUtils]: 36: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:46,945 INFO L290 TraceCheckUtils]: 37: Hoare triple {29748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {29958#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:46,946 INFO L290 TraceCheckUtils]: 38: Hoare triple {29958#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {29962#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:46,946 INFO L290 TraceCheckUtils]: 39: Hoare triple {29962#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {29962#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:35:46,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {29962#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {29969#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:46,947 INFO L290 TraceCheckUtils]: 41: Hoare triple {29969#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {29969#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:35:46,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {29969#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {29976#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:46,948 INFO L290 TraceCheckUtils]: 43: Hoare triple {29976#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {29976#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:35:46,948 INFO L290 TraceCheckUtils]: 44: Hoare triple {29976#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {29983#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:46,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {29983#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {29983#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:35:46,949 INFO L290 TraceCheckUtils]: 46: Hoare triple {29983#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {29990#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:46,949 INFO L290 TraceCheckUtils]: 47: Hoare triple {29990#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {29990#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:35:46,950 INFO L290 TraceCheckUtils]: 48: Hoare triple {29990#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {29997#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:46,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {29997#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {29997#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:35:46,950 INFO L290 TraceCheckUtils]: 50: Hoare triple {29997#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {30004#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:46,951 INFO L290 TraceCheckUtils]: 51: Hoare triple {30004#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {30004#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:35:46,951 INFO L290 TraceCheckUtils]: 52: Hoare triple {30004#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {30011#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:46,951 INFO L290 TraceCheckUtils]: 53: Hoare triple {30011#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {30011#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:35:46,952 INFO L290 TraceCheckUtils]: 54: Hoare triple {30011#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {30018#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:46,952 INFO L290 TraceCheckUtils]: 55: Hoare triple {30018#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {30018#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:35:46,953 INFO L290 TraceCheckUtils]: 56: Hoare triple {30018#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {30025#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:35:46,953 INFO L290 TraceCheckUtils]: 57: Hoare triple {30025#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !(~i~1 < ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:46,953 INFO L290 TraceCheckUtils]: 58: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume !(~i~1 != ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:46,954 INFO L290 TraceCheckUtils]: 59: Hoare triple {29832#(<= |student_version_#in~w| 18)} #res := ~is_divisible~1; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:46,954 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:46,955 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29832#(<= |student_version_#in~w| 18)} {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} #89#return; {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L290 TraceCheckUtils]: 62: Hoare triple {29749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L272 TraceCheckUtils]: 63: Hoare triple {29749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-08 10:35:46,955 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 81 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:46,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:35:51,013 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-08 10:35:51,013 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-08 10:35:51,013 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-08 10:35:51,013 INFO L272 TraceCheckUtils]: 63: Hoare triple {29749#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {29749#false} is VALID [2022-04-08 10:35:51,013 INFO L290 TraceCheckUtils]: 62: Hoare triple {29749#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {29749#false} is VALID [2022-04-08 10:35:51,014 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29832#(<= |student_version_#in~w| 18)} {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} #89#return; {29749#false} is VALID [2022-04-08 10:35:51,014 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:51,014 INFO L290 TraceCheckUtils]: 59: Hoare triple {29832#(<= |student_version_#in~w| 18)} #res := ~is_divisible~1; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:51,015 INFO L290 TraceCheckUtils]: 58: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume !(~i~1 != ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:51,015 INFO L290 TraceCheckUtils]: 57: Hoare triple {30086#(or (<= |student_version_#in~w| 18) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-08 10:35:51,015 INFO L290 TraceCheckUtils]: 56: Hoare triple {30090#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30086#(or (<= |student_version_#in~w| 18) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:35:51,016 INFO L290 TraceCheckUtils]: 55: Hoare triple {30090#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30090#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {30097#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30090#(or (< (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,016 INFO L290 TraceCheckUtils]: 53: Hoare triple {30097#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30097#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,017 INFO L290 TraceCheckUtils]: 52: Hoare triple {30104#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30097#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,017 INFO L290 TraceCheckUtils]: 51: Hoare triple {30104#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30104#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,018 INFO L290 TraceCheckUtils]: 50: Hoare triple {30111#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30104#(or (< (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,018 INFO L290 TraceCheckUtils]: 49: Hoare triple {30111#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30111#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,018 INFO L290 TraceCheckUtils]: 48: Hoare triple {30118#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30111#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,019 INFO L290 TraceCheckUtils]: 47: Hoare triple {30118#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30118#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,019 INFO L290 TraceCheckUtils]: 46: Hoare triple {30125#(or (< (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30118#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,019 INFO L290 TraceCheckUtils]: 45: Hoare triple {30125#(or (< (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30125#(or (< (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {30132#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30125#(or (< (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {30132#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30132#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,021 INFO L290 TraceCheckUtils]: 42: Hoare triple {30139#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30132#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,021 INFO L290 TraceCheckUtils]: 41: Hoare triple {30139#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30139#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {30146#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 18))} ~i~1 := 2 + ~i~1; {30139#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,022 INFO L290 TraceCheckUtils]: 39: Hoare triple {30146#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 18))} assume !!(~i~1 < ~w); {30146#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,022 INFO L290 TraceCheckUtils]: 38: Hoare triple {30153#(or (< 18 student_version_~w) (<= |student_version_#in~w| 18))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {30146#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {29748#true} ~w := #in~w;~is_divisible~1 := ~true~0; {30153#(or (< 18 student_version_~w) (<= |student_version_#in~w| 18))} is VALID [2022-04-08 10:35:51,023 INFO L272 TraceCheckUtils]: 36: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:51,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:51,024 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {29819#(<= 19 |correct_version_#in~w|)} {29748#true} #87#return; {29780#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 19) main_~w~0))} is VALID [2022-04-08 10:35:51,024 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} #res := ~is_divisible~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume !(~i~0 < ~w); {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,025 INFO L290 TraceCheckUtils]: 29: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,026 INFO L290 TraceCheckUtils]: 28: Hoare triple {30184#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 19 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-08 10:35:51,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {30188#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 19 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {30184#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {30188#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 19 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {30188#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {30195#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 19 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {30188#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {30195#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 19 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {30195#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {30202#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {30195#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {30202#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {30202#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:51,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {30209#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 19 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {30202#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:35:51,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {30209#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 19 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {30209#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {30216#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {30209#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 19 |correct_version_#in~w|))} is VALID [2022-04-08 10:35:51,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {30216#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {30216#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:35:51,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {30223#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {30216#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:35:51,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {30223#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {30223#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:51,031 INFO L290 TraceCheckUtils]: 15: Hoare triple {30230#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {30223#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:35:51,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {30230#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {30230#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:51,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {30237#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {30230#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:35:51,032 INFO L290 TraceCheckUtils]: 12: Hoare triple {30237#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {30237#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:51,032 INFO L290 TraceCheckUtils]: 11: Hoare triple {30244#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {30237#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:35:51,033 INFO L290 TraceCheckUtils]: 10: Hoare triple {30244#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {30244#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:51,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {30251#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w 18))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {30244#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:35:51,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {29748#true} ~w := #in~w;~is_divisible~0 := ~true~0; {30251#(or (<= 19 |correct_version_#in~w|) (<= correct_version_~w 18))} is VALID [2022-04-08 10:35:51,033 INFO L272 TraceCheckUtils]: 7: Hoare triple {29748#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {29748#true} is VALID [2022-04-08 10:35:51,033 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {29748#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {29748#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {29748#true} call ULTIMATE.init(); {29748#true} is VALID [2022-04-08 10:35:51,034 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 100 proven. 81 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:51,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [221295774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:35:51,034 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:35:51,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 27, 27] total 74 [2022-04-08 10:35:51,035 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:35:51,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1876961951] [2022-04-08 10:35:51,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1876961951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:35:51,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:35:51,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-08 10:35:51,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556255624] [2022-04-08 10:35:51,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:35:51,035 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 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 67 [2022-04-08 10:35:51,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:35:51,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:51,079 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-08 10:35:51,079 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-08 10:35:51,079 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:51,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-08 10:35:51,079 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=901, Invalid=4501, Unknown=0, NotChecked=0, Total=5402 [2022-04-08 10:35:51,079 INFO L87 Difference]: Start difference. First operand 79 states and 83 transitions. Second operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:53,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:53,133 INFO L93 Difference]: Finished difference Result 89 states and 92 transitions. [2022-04-08 10:35:53,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-08 10:35:53,133 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 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 67 [2022-04-08 10:35:53,133 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:35:53,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:53,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 84 transitions. [2022-04-08 10:35:53,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:53,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 84 transitions. [2022-04-08 10:35:53,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 84 transitions. [2022-04-08 10:35:53,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:53,201 INFO L225 Difference]: With dead ends: 89 [2022-04-08 10:35:53,201 INFO L226 Difference]: Without dead ends: 79 [2022-04-08 10:35:53,202 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 191 GetRequests, 89 SyntacticMatches, 5 SemanticMatches, 97 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4195 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=1548, Invalid=8154, Unknown=0, NotChecked=0, Total=9702 [2022-04-08 10:35:53,202 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 76 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 646 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 681 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 646 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:35:53,202 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 95 Invalid, 681 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 646 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:35:53,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-08 10:35:53,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 78. [2022-04-08 10:35:53,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:35:53,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:53,759 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:53,759 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:53,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:53,760 INFO L93 Difference]: Finished difference Result 79 states and 82 transitions. [2022-04-08 10:35:53,760 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 82 transitions. [2022-04-08 10:35:53,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:53,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:53,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:35:53,760 INFO L87 Difference]: Start difference. First operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 79 states. [2022-04-08 10:35:53,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:35:53,761 INFO L93 Difference]: Finished difference Result 79 states and 82 transitions. [2022-04-08 10:35:53,761 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 82 transitions. [2022-04-08 10:35:53,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:35:53,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:35:53,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:35:53,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:35:53,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 66 states have (on average 1.0606060606060606) internal successors, (70), 68 states have internal predecessors, (70), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:35:53,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 81 transitions. [2022-04-08 10:35:53,763 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 81 transitions. Word has length 67 [2022-04-08 10:35:53,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:35:53,763 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 81 transitions. [2022-04-08 10:35:53,763 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.9666666666666666) internal successors, (59), 29 states have internal predecessors, (59), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:35:53,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 81 transitions. [2022-04-08 10:35:53,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:35:53,904 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 81 transitions. [2022-04-08 10:35:53,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 10:35:53,904 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:35:53,904 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 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] [2022-04-08 10:35:53,924 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-08 10:35:54,104 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-08 10:35:54,105 INFO L403 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:35:54,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:35:54,105 INFO L85 PathProgramCache]: Analyzing trace with hash -193036489, now seen corresponding path program 35 times [2022-04-08 10:35:54,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:35:54,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [66461505] [2022-04-08 10:35:54,108 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:35:54,108 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:35:54,108 INFO L85 PathProgramCache]: Analyzing trace with hash -193036489, now seen corresponding path program 36 times [2022-04-08 10:35:54,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:35:54,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330340184] [2022-04-08 10:35:54,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:35:54,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:35:54,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:54,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:35:54,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:54,164 INFO L290 TraceCheckUtils]: 0: Hoare triple {30880#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {30820#true} is VALID [2022-04-08 10:35:54,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-08 10:35:54,165 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-08 10:35:54,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:35:54,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:54,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {30820#true} ~w := #in~w;~is_divisible~0 := ~true~0; {30881#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:54,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {30881#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,349 INFO L290 TraceCheckUtils]: 3: Hoare triple {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,350 INFO L290 TraceCheckUtils]: 4: Hoare triple {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,350 INFO L290 TraceCheckUtils]: 6: Hoare triple {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:54,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:54,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:54,354 INFO L290 TraceCheckUtils]: 16: Hoare triple {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:54,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:54,356 INFO L290 TraceCheckUtils]: 20: Hoare triple {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:54,356 INFO L290 TraceCheckUtils]: 21: Hoare triple {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {30892#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {30892#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {30893#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {30893#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,357 INFO L290 TraceCheckUtils]: 24: Hoare triple {30894#(<= |correct_version_#in~w| 19)} #res := ~is_divisible~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,358 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {30894#(<= |correct_version_#in~w| 19)} {30820#true} #87#return; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:35:54,359 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 10:35:54,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:54,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {30820#true} ~w := #in~w;~is_divisible~1 := ~true~0; {30895#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:54,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {30895#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,579 INFO L290 TraceCheckUtils]: 3: Hoare triple {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,580 INFO L290 TraceCheckUtils]: 4: Hoare triple {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:54,581 INFO L290 TraceCheckUtils]: 6: Hoare triple {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:54,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:54,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:54,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:54,583 INFO L290 TraceCheckUtils]: 10: Hoare triple {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:54,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,584 INFO L290 TraceCheckUtils]: 12: Hoare triple {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:54,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:54,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,587 INFO L290 TraceCheckUtils]: 18: Hoare triple {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,587 INFO L290 TraceCheckUtils]: 19: Hoare triple {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:35:54,589 INFO L290 TraceCheckUtils]: 22: Hoare triple {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !(~i~1 < ~w); {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:35:54,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !(~i~1 != ~w); {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {30907#(<= 20 |student_version_#in~w|)} #res := ~is_divisible~1; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,591 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {30907#(<= 20 |student_version_#in~w|)} {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} #89#return; {30821#false} is VALID [2022-04-08 10:35:54,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {30820#true} call ULTIMATE.init(); {30880#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:35:54,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {30880#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {30820#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-08 10:35:54,592 INFO L272 TraceCheckUtils]: 7: Hoare triple {30820#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:35:54,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {30820#true} ~w := #in~w;~is_divisible~0 := ~true~0; {30881#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:54,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {30881#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,593 INFO L290 TraceCheckUtils]: 10: Hoare triple {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {30882#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,594 INFO L290 TraceCheckUtils]: 12: Hoare triple {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {30883#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {30884#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {30885#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:54,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:54,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {30886#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {30887#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {30888#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:54,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:54,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {30889#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,601 INFO L290 TraceCheckUtils]: 26: Hoare triple {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {30890#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:54,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:54,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {30891#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {30892#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {30892#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {30893#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:35:54,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {30893#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 20)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {30894#(<= |correct_version_#in~w| 19)} #res := ~is_divisible~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,605 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:54,606 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {30894#(<= |correct_version_#in~w| 19)} {30820#true} #87#return; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:35:54,606 INFO L290 TraceCheckUtils]: 35: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:35:54,607 INFO L272 TraceCheckUtils]: 36: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:35:54,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {30820#true} ~w := #in~w;~is_divisible~1 := ~true~0; {30895#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:35:54,607 INFO L290 TraceCheckUtils]: 38: Hoare triple {30895#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,608 INFO L290 TraceCheckUtils]: 39: Hoare triple {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,608 INFO L290 TraceCheckUtils]: 40: Hoare triple {30896#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,609 INFO L290 TraceCheckUtils]: 41: Hoare triple {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,609 INFO L290 TraceCheckUtils]: 42: Hoare triple {30897#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:54,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:54,610 INFO L290 TraceCheckUtils]: 44: Hoare triple {30898#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:54,611 INFO L290 TraceCheckUtils]: 45: Hoare triple {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:35:54,611 INFO L290 TraceCheckUtils]: 46: Hoare triple {30899#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:54,612 INFO L290 TraceCheckUtils]: 47: Hoare triple {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:35:54,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {30900#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {30901#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:54,614 INFO L290 TraceCheckUtils]: 51: Hoare triple {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:35:54,614 INFO L290 TraceCheckUtils]: 52: Hoare triple {30902#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,615 INFO L290 TraceCheckUtils]: 53: Hoare triple {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,615 INFO L290 TraceCheckUtils]: 54: Hoare triple {30903#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,616 INFO L290 TraceCheckUtils]: 55: Hoare triple {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,616 INFO L290 TraceCheckUtils]: 56: Hoare triple {30904#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,617 INFO L290 TraceCheckUtils]: 57: Hoare triple {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:35:54,617 INFO L290 TraceCheckUtils]: 58: Hoare triple {30905#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:35:54,618 INFO L290 TraceCheckUtils]: 59: Hoare triple {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !(~i~1 < ~w); {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:35:54,618 INFO L290 TraceCheckUtils]: 60: Hoare triple {30906#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !(~i~1 != ~w); {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,618 INFO L290 TraceCheckUtils]: 61: Hoare triple {30907#(<= 20 |student_version_#in~w|)} #res := ~is_divisible~1; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,619 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:54,620 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {30907#(<= 20 |student_version_#in~w|)} {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} #89#return; {30821#false} is VALID [2022-04-08 10:35:54,620 INFO L290 TraceCheckUtils]: 64: Hoare triple {30821#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {30821#false} is VALID [2022-04-08 10:35:54,620 INFO L272 TraceCheckUtils]: 65: Hoare triple {30821#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {30821#false} is VALID [2022-04-08 10:35:54,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-08 10:35:54,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-08 10:35:54,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-08 10:35:54,621 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:54,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:35:54,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330340184] [2022-04-08 10:35:54,621 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1330340184] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:35:54,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1148767378] [2022-04-08 10:35:54,621 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:35:54,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:35:54,621 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:35:54,624 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:35:54,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-08 10:35:54,744 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 10:35:54,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:35:54,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 10:35:54,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:35:54,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:35:55,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {30820#true} call ULTIMATE.init(); {30820#true} is VALID [2022-04-08 10:35:55,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {30820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {30820#true} is VALID [2022-04-08 10:35:55,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-08 10:35:55,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-08 10:35:55,840 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-08 10:35:55,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {30820#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {30820#true} is VALID [2022-04-08 10:35:55,841 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-08 10:35:55,841 INFO L272 TraceCheckUtils]: 7: Hoare triple {30820#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:35:55,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {30820#true} ~w := #in~w;~is_divisible~0 := ~true~0; {30935#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:35:55,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {30935#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {30939#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:55,842 INFO L290 TraceCheckUtils]: 10: Hoare triple {30939#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {30939#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:35:55,842 INFO L290 TraceCheckUtils]: 11: Hoare triple {30939#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {30946#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:55,842 INFO L290 TraceCheckUtils]: 12: Hoare triple {30946#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {30946#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:35:55,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {30946#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {30953#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:55,843 INFO L290 TraceCheckUtils]: 14: Hoare triple {30953#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {30953#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:35:55,844 INFO L290 TraceCheckUtils]: 15: Hoare triple {30953#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {30960#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:55,844 INFO L290 TraceCheckUtils]: 16: Hoare triple {30960#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {30960#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:35:55,844 INFO L290 TraceCheckUtils]: 17: Hoare triple {30960#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {30967#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:55,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {30967#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {30967#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:35:55,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {30967#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {30974#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:55,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {30974#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {30974#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:35:55,846 INFO L290 TraceCheckUtils]: 21: Hoare triple {30974#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {30981#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:55,846 INFO L290 TraceCheckUtils]: 22: Hoare triple {30981#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {30981#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:35:55,847 INFO L290 TraceCheckUtils]: 23: Hoare triple {30981#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {30988#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:55,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {30988#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {30988#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:35:55,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {30988#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {30995#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:55,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {30995#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {30995#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:35:55,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {30995#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {31002#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:55,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {31002#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {31002#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:35:55,849 INFO L290 TraceCheckUtils]: 29: Hoare triple {31002#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {31009#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:35:55,850 INFO L290 TraceCheckUtils]: 30: Hoare triple {31009#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !(~i~0 < ~w); {31013#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:35:55,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {31013#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 20))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:55,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {30894#(<= |correct_version_#in~w| 19)} #res := ~is_divisible~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:55,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:35:55,851 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {30894#(<= |correct_version_#in~w| 19)} {30820#true} #87#return; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:35:55,852 INFO L290 TraceCheckUtils]: 35: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:35:55,852 INFO L272 TraceCheckUtils]: 36: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:35:55,852 INFO L290 TraceCheckUtils]: 37: Hoare triple {30820#true} ~w := #in~w;~is_divisible~1 := ~true~0; {31035#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:35:55,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {31035#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {31039#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,853 INFO L290 TraceCheckUtils]: 39: Hoare triple {31039#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31039#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,853 INFO L290 TraceCheckUtils]: 40: Hoare triple {31039#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31046#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,854 INFO L290 TraceCheckUtils]: 41: Hoare triple {31046#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31046#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,854 INFO L290 TraceCheckUtils]: 42: Hoare triple {31046#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31053#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:55,854 INFO L290 TraceCheckUtils]: 43: Hoare triple {31053#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {31053#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:35:55,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {31053#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {31060#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {31060#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31060#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,856 INFO L290 TraceCheckUtils]: 46: Hoare triple {31060#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31067#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,856 INFO L290 TraceCheckUtils]: 47: Hoare triple {31067#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31067#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {31067#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31074#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,857 INFO L290 TraceCheckUtils]: 49: Hoare triple {31074#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31074#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,857 INFO L290 TraceCheckUtils]: 50: Hoare triple {31074#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31081#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,857 INFO L290 TraceCheckUtils]: 51: Hoare triple {31081#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31081#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,858 INFO L290 TraceCheckUtils]: 52: Hoare triple {31081#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31088#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,858 INFO L290 TraceCheckUtils]: 53: Hoare triple {31088#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31088#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,859 INFO L290 TraceCheckUtils]: 54: Hoare triple {31088#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31095#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,859 INFO L290 TraceCheckUtils]: 55: Hoare triple {31095#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31095#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,859 INFO L290 TraceCheckUtils]: 56: Hoare triple {31095#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31102#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,860 INFO L290 TraceCheckUtils]: 57: Hoare triple {31102#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {31102#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,860 INFO L290 TraceCheckUtils]: 58: Hoare triple {31102#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31109#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,861 INFO L290 TraceCheckUtils]: 59: Hoare triple {31109#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {31109#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:35:55,861 INFO L290 TraceCheckUtils]: 60: Hoare triple {31109#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:55,861 INFO L290 TraceCheckUtils]: 61: Hoare triple {30907#(<= 20 |student_version_#in~w|)} #res := ~is_divisible~1; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:55,862 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:35:55,862 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {30907#(<= 20 |student_version_#in~w|)} {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} #89#return; {30821#false} is VALID [2022-04-08 10:35:55,862 INFO L290 TraceCheckUtils]: 64: Hoare triple {30821#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {30821#false} is VALID [2022-04-08 10:35:55,863 INFO L272 TraceCheckUtils]: 65: Hoare triple {30821#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {30821#false} is VALID [2022-04-08 10:35:55,863 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-08 10:35:55,863 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-08 10:35:55,863 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-08 10:35:55,863 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:35:55,863 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:10,168 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-08 10:36:10,168 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-08 10:36:10,168 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-08 10:36:10,168 INFO L272 TraceCheckUtils]: 65: Hoare triple {30821#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {30821#false} is VALID [2022-04-08 10:36:10,168 INFO L290 TraceCheckUtils]: 64: Hoare triple {30821#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {30821#false} is VALID [2022-04-08 10:36:10,169 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {30907#(<= 20 |student_version_#in~w|)} {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} #89#return; {30821#false} is VALID [2022-04-08 10:36:10,169 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:36:10,170 INFO L290 TraceCheckUtils]: 61: Hoare triple {30907#(<= 20 |student_version_#in~w|)} #res := ~is_divisible~1; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:36:10,170 INFO L290 TraceCheckUtils]: 60: Hoare triple {31167#(or (<= 20 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-08 10:36:10,170 INFO L290 TraceCheckUtils]: 59: Hoare triple {31167#(or (<= 20 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {31167#(or (<= 20 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:36:10,171 INFO L290 TraceCheckUtils]: 58: Hoare triple {31174#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {31167#(or (<= 20 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:36:10,171 INFO L290 TraceCheckUtils]: 57: Hoare triple {31174#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {31174#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:36:10,171 INFO L290 TraceCheckUtils]: 56: Hoare triple {31181#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 20 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31174#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:36:10,172 INFO L290 TraceCheckUtils]: 55: Hoare triple {31181#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 20 |student_version_#in~w|))} assume !!(~i~1 < ~w); {31181#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {31188#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 20 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31181#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,173 INFO L290 TraceCheckUtils]: 53: Hoare triple {31188#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 20 |student_version_#in~w|))} assume !!(~i~1 < ~w); {31188#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,173 INFO L290 TraceCheckUtils]: 52: Hoare triple {31195#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {31188#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,173 INFO L290 TraceCheckUtils]: 51: Hoare triple {31195#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {31195#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:36:10,174 INFO L290 TraceCheckUtils]: 50: Hoare triple {31202#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 20 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31195#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:36:10,174 INFO L290 TraceCheckUtils]: 49: Hoare triple {31202#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 20 |student_version_#in~w|))} assume !!(~i~1 < ~w); {31202#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {31209#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {31202#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {31209#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {31209#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:36:10,176 INFO L290 TraceCheckUtils]: 46: Hoare triple {31216#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 20 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {31209#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:36:10,176 INFO L290 TraceCheckUtils]: 45: Hoare triple {31216#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 20 |student_version_#in~w|))} assume !!(~i~1 < ~w); {31216#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,176 INFO L290 TraceCheckUtils]: 44: Hoare triple {31223#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {31216#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {31223#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {31223#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:36:10,177 INFO L290 TraceCheckUtils]: 42: Hoare triple {31230#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {31223#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:36:10,177 INFO L290 TraceCheckUtils]: 41: Hoare triple {31230#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {31230#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:36:10,178 INFO L290 TraceCheckUtils]: 40: Hoare triple {31237#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {31230#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:36:10,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {31237#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {31237#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:36:10,179 INFO L290 TraceCheckUtils]: 38: Hoare triple {31244#(or (< student_version_~w 20) (<= 20 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {31237#(or (<= 20 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:36:10,179 INFO L290 TraceCheckUtils]: 37: Hoare triple {30820#true} ~w := #in~w;~is_divisible~1 := ~true~0; {31244#(or (< student_version_~w 20) (<= 20 |student_version_#in~w|))} is VALID [2022-04-08 10:36:10,179 INFO L272 TraceCheckUtils]: 36: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:36:10,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:36:10,180 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {30894#(<= |correct_version_#in~w| 19)} {30820#true} #87#return; {30852#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 19)))} is VALID [2022-04-08 10:36:10,181 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:36:10,181 INFO L290 TraceCheckUtils]: 32: Hoare triple {30894#(<= |correct_version_#in~w| 19)} #res := ~is_divisible~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:36:10,181 INFO L290 TraceCheckUtils]: 31: Hoare triple {31266#(or (<= |correct_version_#in~w| 19) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-08 10:36:10,181 INFO L290 TraceCheckUtils]: 30: Hoare triple {31270#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 19) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {31266#(or (<= |correct_version_#in~w| 19) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:36:10,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {31274#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31270#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 19) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:36:10,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {31274#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31274#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,183 INFO L290 TraceCheckUtils]: 27: Hoare triple {31281#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31274#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {31281#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31281#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {31288#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {31281#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {31288#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {31288#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:36:10,184 INFO L290 TraceCheckUtils]: 23: Hoare triple {31295#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31288#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:36:10,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {31295#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31295#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {31302#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31295#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {31302#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31302#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {31309#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {31302#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {31309#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {31309#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:36:10,187 INFO L290 TraceCheckUtils]: 17: Hoare triple {31316#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31309#(or (<= |correct_version_#in~w| 19) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:36:10,187 INFO L290 TraceCheckUtils]: 16: Hoare triple {31316#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31316#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {31323#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31316#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,188 INFO L290 TraceCheckUtils]: 14: Hoare triple {31323#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31323#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {31330#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31323#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,189 INFO L290 TraceCheckUtils]: 12: Hoare triple {31330#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31330#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {31337#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 19))} ~i~0 := 2 + ~i~0; {31330#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {31337#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 19))} assume !!(~i~0 < ~w); {31337#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {31344#(or (<= 20 correct_version_~w) (<= |correct_version_#in~w| 19))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {31337#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,191 INFO L290 TraceCheckUtils]: 8: Hoare triple {30820#true} ~w := #in~w;~is_divisible~0 := ~true~0; {31344#(or (<= 20 correct_version_~w) (<= |correct_version_#in~w| 19))} is VALID [2022-04-08 10:36:10,191 INFO L272 TraceCheckUtils]: 7: Hoare triple {30820#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {30820#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {30820#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {30820#true} call ULTIMATE.init(); {30820#true} is VALID [2022-04-08 10:36:10,191 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:10,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1148767378] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:10,192 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:10,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 81 [2022-04-08 10:36:10,192 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:10,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [66461505] [2022-04-08 10:36:10,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [66461505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:10,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:10,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-08 10:36:10,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724152231] [2022-04-08 10:36:10,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:10,192 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 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 69 [2022-04-08 10:36:10,193 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:10,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:10,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:10,238 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-08 10:36:10,238 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:10,239 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-08 10:36:10,239 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=5443, Unknown=0, NotChecked=0, Total=6480 [2022-04-08 10:36:10,239 INFO L87 Difference]: Start difference. First operand 78 states and 81 transitions. Second operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:12,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:12,432 INFO L93 Difference]: Finished difference Result 98 states and 105 transitions. [2022-04-08 10:36:12,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-08 10:36:12,432 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 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 69 [2022-04-08 10:36:12,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:12,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:12,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 100 transitions. [2022-04-08 10:36:12,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:12,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 100 transitions. [2022-04-08 10:36:12,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 100 transitions. [2022-04-08 10:36:12,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:12,518 INFO L225 Difference]: With dead ends: 98 [2022-04-08 10:36:12,518 INFO L226 Difference]: Without dead ends: 87 [2022-04-08 10:36:12,519 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 87 SyntacticMatches, 5 SemanticMatches, 107 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5095 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=1802, Invalid=9970, Unknown=0, NotChecked=0, Total=11772 [2022-04-08 10:36:12,519 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 107 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 520 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 555 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 520 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:12,520 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 67 Invalid, 555 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 520 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:36:12,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-08 10:36:13,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 81. [2022-04-08 10:36:13,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:13,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:13,114 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:13,114 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:13,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:13,115 INFO L93 Difference]: Finished difference Result 87 states and 93 transitions. [2022-04-08 10:36:13,116 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 93 transitions. [2022-04-08 10:36:13,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:13,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:13,116 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:36:13,116 INFO L87 Difference]: Start difference. First operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:36:13,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:13,117 INFO L93 Difference]: Finished difference Result 87 states and 93 transitions. [2022-04-08 10:36:13,117 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 93 transitions. [2022-04-08 10:36:13,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:13,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:13,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:13,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:13,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 69 states have (on average 1.0724637681159421) internal successors, (74), 71 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:13,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 85 transitions. [2022-04-08 10:36:13,119 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 85 transitions. Word has length 69 [2022-04-08 10:36:13,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:13,119 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 85 transitions. [2022-04-08 10:36:13,119 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:13,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 85 transitions. [2022-04-08 10:36:13,319 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-08 10:36:13,319 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 85 transitions. [2022-04-08 10:36:13,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 10:36:13,320 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:13,320 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 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] [2022-04-08 10:36:13,347 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Forceful destruction successful, exit code 0 [2022-04-08 10:36:13,520 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable40,38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:13,521 INFO L403 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:13,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:13,521 INFO L85 PathProgramCache]: Analyzing trace with hash -1902454157, now seen corresponding path program 35 times [2022-04-08 10:36:13,521 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:13,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [943746809] [2022-04-08 10:36:13,524 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:13,524 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:13,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1902454157, now seen corresponding path program 36 times [2022-04-08 10:36:13,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:13,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [447127237] [2022-04-08 10:36:13,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:13,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:13,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:13,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:13,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:13,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {32019#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {31959#true} is VALID [2022-04-08 10:36:13,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-08 10:36:13,578 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-08 10:36:13,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:13,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:13,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {31959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {32020#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:13,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {32020#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,793 INFO L290 TraceCheckUtils]: 3: Hoare triple {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,794 INFO L290 TraceCheckUtils]: 4: Hoare triple {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,795 INFO L290 TraceCheckUtils]: 6: Hoare triple {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,797 INFO L290 TraceCheckUtils]: 10: Hoare triple {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,798 INFO L290 TraceCheckUtils]: 12: Hoare triple {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,800 INFO L290 TraceCheckUtils]: 16: Hoare triple {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:13,801 INFO L290 TraceCheckUtils]: 19: Hoare triple {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:13,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:13,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} #res := ~is_divisible~0; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:13,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:13,805 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32032#(<= 20 |correct_version_#in~w|)} {31959#true} #87#return; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:13,805 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 10:36:13,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:14,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {31959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {32033#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:14,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {32033#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:14,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:14,154 INFO L290 TraceCheckUtils]: 3: Hoare triple {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,154 INFO L290 TraceCheckUtils]: 4: Hoare triple {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,155 INFO L290 TraceCheckUtils]: 6: Hoare triple {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:14,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:14,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,157 INFO L290 TraceCheckUtils]: 10: Hoare triple {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:14,158 INFO L290 TraceCheckUtils]: 12: Hoare triple {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:14,159 INFO L290 TraceCheckUtils]: 13: Hoare triple {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,160 INFO L290 TraceCheckUtils]: 15: Hoare triple {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:14,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:14,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:14,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:14,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:14,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:14,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {32044#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:36:14,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {32044#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {32045#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:36:14,164 INFO L290 TraceCheckUtils]: 23: Hoare triple {32045#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {32046#(<= |student_version_#in~w| 19)} #res := ~is_divisible~1; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,166 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32046#(<= |student_version_#in~w| 19)} {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} #89#return; {31960#false} is VALID [2022-04-08 10:36:14,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {31959#true} call ULTIMATE.init(); {32019#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:36:14,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {32019#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {31959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L272 TraceCheckUtils]: 7: Hoare triple {31959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:14,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {31959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {32020#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:14,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {32020#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,168 INFO L290 TraceCheckUtils]: 10: Hoare triple {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {32021#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,169 INFO L290 TraceCheckUtils]: 12: Hoare triple {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {32022#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {32023#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,171 INFO L290 TraceCheckUtils]: 16: Hoare triple {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,172 INFO L290 TraceCheckUtils]: 17: Hoare triple {32024#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {32025#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {32026#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,174 INFO L290 TraceCheckUtils]: 22: Hoare triple {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {32027#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {32028#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,176 INFO L290 TraceCheckUtils]: 26: Hoare triple {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:14,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {32029#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,177 INFO L290 TraceCheckUtils]: 28: Hoare triple {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {32030#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:14,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {32031#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:14,179 INFO L290 TraceCheckUtils]: 32: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} #res := ~is_divisible~0; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:14,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:14,180 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {32032#(<= 20 |correct_version_#in~w|)} {31959#true} #87#return; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:14,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:14,181 INFO L272 TraceCheckUtils]: 36: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:14,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {31959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {32033#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:14,182 INFO L290 TraceCheckUtils]: 38: Hoare triple {32033#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:14,182 INFO L290 TraceCheckUtils]: 39: Hoare triple {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:14,183 INFO L290 TraceCheckUtils]: 40: Hoare triple {32034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,183 INFO L290 TraceCheckUtils]: 41: Hoare triple {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,184 INFO L290 TraceCheckUtils]: 42: Hoare triple {32035#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,184 INFO L290 TraceCheckUtils]: 43: Hoare triple {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,185 INFO L290 TraceCheckUtils]: 44: Hoare triple {32036#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:14,185 INFO L290 TraceCheckUtils]: 45: Hoare triple {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:14,186 INFO L290 TraceCheckUtils]: 46: Hoare triple {32037#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,187 INFO L290 TraceCheckUtils]: 48: Hoare triple {32038#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:14,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:14,188 INFO L290 TraceCheckUtils]: 50: Hoare triple {32039#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,188 INFO L290 TraceCheckUtils]: 51: Hoare triple {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:14,189 INFO L290 TraceCheckUtils]: 52: Hoare triple {32040#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:14,189 INFO L290 TraceCheckUtils]: 53: Hoare triple {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:14,190 INFO L290 TraceCheckUtils]: 54: Hoare triple {32041#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:14,190 INFO L290 TraceCheckUtils]: 55: Hoare triple {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:14,191 INFO L290 TraceCheckUtils]: 56: Hoare triple {32042#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:14,191 INFO L290 TraceCheckUtils]: 57: Hoare triple {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:14,192 INFO L290 TraceCheckUtils]: 58: Hoare triple {32043#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {32044#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:36:14,192 INFO L290 TraceCheckUtils]: 59: Hoare triple {32044#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {32045#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:36:14,193 INFO L290 TraceCheckUtils]: 60: Hoare triple {32045#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 20) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,193 INFO L290 TraceCheckUtils]: 61: Hoare triple {32046#(<= |student_version_#in~w| 19)} #res := ~is_divisible~1; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,194 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:14,195 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {32046#(<= |student_version_#in~w| 19)} {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} #89#return; {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L290 TraceCheckUtils]: 64: Hoare triple {31960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L272 TraceCheckUtils]: 65: Hoare triple {31960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-08 10:36:14,195 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:14,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:14,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [447127237] [2022-04-08 10:36:14,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [447127237] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:14,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1337161140] [2022-04-08 10:36:14,196 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:36:14,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:14,196 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:14,197 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:36:14,199 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2022-04-08 10:36:14,313 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-08 10:36:14,314 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:14,315 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 10:36:14,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:14,334 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:15,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {31959#true} call ULTIMATE.init(); {31959#true} is VALID [2022-04-08 10:36:15,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {31959#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {31959#true} is VALID [2022-04-08 10:36:15,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {31959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L272 TraceCheckUtils]: 7: Hoare triple {31959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:15,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {31959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {32074#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:36:15,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {32074#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {32078#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {32078#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {32078#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {32078#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32085#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,847 INFO L290 TraceCheckUtils]: 12: Hoare triple {32085#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {32085#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {32085#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32092#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {32092#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {32092#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {32092#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32099#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:15,848 INFO L290 TraceCheckUtils]: 16: Hoare triple {32099#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32099#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:15,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {32099#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32106#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {32106#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {32106#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,850 INFO L290 TraceCheckUtils]: 19: Hoare triple {32106#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32113#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:15,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {32113#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32113#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:15,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {32113#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32120#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,851 INFO L290 TraceCheckUtils]: 22: Hoare triple {32120#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {32120#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {32120#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32127#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,852 INFO L290 TraceCheckUtils]: 24: Hoare triple {32127#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {32127#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {32127#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32134#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {32134#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {32134#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {32134#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32141#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {32141#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {32141#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {32141#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {32148#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {32148#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !(~i~0 < ~w); {32148#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:36:15,855 INFO L290 TraceCheckUtils]: 31: Hoare triple {32148#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !(~i~0 != ~w); {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:15,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} #res := ~is_divisible~0; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:15,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:15,856 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {32032#(<= 20 |correct_version_#in~w|)} {31959#true} #87#return; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:15,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:15,857 INFO L272 TraceCheckUtils]: 36: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:15,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {31959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {32173#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:15,857 INFO L290 TraceCheckUtils]: 38: Hoare triple {32173#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {32177#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:15,858 INFO L290 TraceCheckUtils]: 39: Hoare triple {32177#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {32177#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:15,858 INFO L290 TraceCheckUtils]: 40: Hoare triple {32177#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {32184#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:36:15,858 INFO L290 TraceCheckUtils]: 41: Hoare triple {32184#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {32184#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:36:15,859 INFO L290 TraceCheckUtils]: 42: Hoare triple {32184#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {32191#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:36:15,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {32191#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {32191#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:36:15,860 INFO L290 TraceCheckUtils]: 44: Hoare triple {32191#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {32198#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:15,860 INFO L290 TraceCheckUtils]: 45: Hoare triple {32198#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {32198#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:15,860 INFO L290 TraceCheckUtils]: 46: Hoare triple {32198#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {32205#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:36:15,861 INFO L290 TraceCheckUtils]: 47: Hoare triple {32205#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {32205#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:36:15,861 INFO L290 TraceCheckUtils]: 48: Hoare triple {32205#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {32212#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:15,862 INFO L290 TraceCheckUtils]: 49: Hoare triple {32212#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {32212#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:15,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {32212#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {32219#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:36:15,862 INFO L290 TraceCheckUtils]: 51: Hoare triple {32219#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {32219#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:36:15,863 INFO L290 TraceCheckUtils]: 52: Hoare triple {32219#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {32226#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:15,863 INFO L290 TraceCheckUtils]: 53: Hoare triple {32226#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {32226#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:15,864 INFO L290 TraceCheckUtils]: 54: Hoare triple {32226#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {32233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:15,864 INFO L290 TraceCheckUtils]: 55: Hoare triple {32233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {32233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:15,865 INFO L290 TraceCheckUtils]: 56: Hoare triple {32233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {32240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:15,865 INFO L290 TraceCheckUtils]: 57: Hoare triple {32240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {32240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:15,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {32240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {32247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:36:15,866 INFO L290 TraceCheckUtils]: 59: Hoare triple {32247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !(~i~1 < ~w); {32251#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:36:15,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {32251#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 20))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:15,866 INFO L290 TraceCheckUtils]: 61: Hoare triple {32046#(<= |student_version_#in~w| 19)} #res := ~is_divisible~1; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:15,867 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:15,868 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {32046#(<= |student_version_#in~w| 19)} {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} #89#return; {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L290 TraceCheckUtils]: 64: Hoare triple {31960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L272 TraceCheckUtils]: 65: Hoare triple {31960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-08 10:36:15,868 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:15,868 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:27,289 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-08 10:36:27,289 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-08 10:36:27,289 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-08 10:36:27,289 INFO L272 TraceCheckUtils]: 65: Hoare triple {31960#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {31960#false} is VALID [2022-04-08 10:36:27,289 INFO L290 TraceCheckUtils]: 64: Hoare triple {31960#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {31960#false} is VALID [2022-04-08 10:36:27,290 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {32046#(<= |student_version_#in~w| 19)} {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} #89#return; {31960#false} is VALID [2022-04-08 10:36:27,291 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:27,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {32046#(<= |student_version_#in~w| 19)} #res := ~is_divisible~1; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:27,291 INFO L290 TraceCheckUtils]: 60: Hoare triple {32306#(or (<= |student_version_#in~w| 19) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-08 10:36:27,292 INFO L290 TraceCheckUtils]: 59: Hoare triple {32310#(or (<= |student_version_#in~w| 19) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {32306#(or (<= |student_version_#in~w| 19) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:36:27,292 INFO L290 TraceCheckUtils]: 58: Hoare triple {32314#(or (<= |student_version_#in~w| 19) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {32310#(or (<= |student_version_#in~w| 19) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:36:27,292 INFO L290 TraceCheckUtils]: 57: Hoare triple {32314#(or (<= |student_version_#in~w| 19) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {32314#(or (<= |student_version_#in~w| 19) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,293 INFO L290 TraceCheckUtils]: 56: Hoare triple {32321#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {32314#(or (<= |student_version_#in~w| 19) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,293 INFO L290 TraceCheckUtils]: 55: Hoare triple {32321#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {32321#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:36:27,294 INFO L290 TraceCheckUtils]: 54: Hoare triple {32328#(or (<= |student_version_#in~w| 19) (<= (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {32321#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:36:27,294 INFO L290 TraceCheckUtils]: 53: Hoare triple {32328#(or (<= |student_version_#in~w| 19) (<= (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {32328#(or (<= |student_version_#in~w| 19) (<= (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,295 INFO L290 TraceCheckUtils]: 52: Hoare triple {32335#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {32328#(or (<= |student_version_#in~w| 19) (<= (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,295 INFO L290 TraceCheckUtils]: 51: Hoare triple {32335#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {32335#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:36:27,295 INFO L290 TraceCheckUtils]: 50: Hoare triple {32342#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {32335#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:36:27,296 INFO L290 TraceCheckUtils]: 49: Hoare triple {32342#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {32342#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:36:27,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {32349#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {32342#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:36:27,297 INFO L290 TraceCheckUtils]: 47: Hoare triple {32349#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {32349#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:36:27,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {32356#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 19))} ~i~1 := 2 + ~i~1; {32349#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:36:27,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {32356#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 19))} assume !!(~i~1 < ~w); {32356#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 19))} is VALID [2022-04-08 10:36:27,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {32363#(or (<= |student_version_#in~w| 19) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {32356#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 19))} is VALID [2022-04-08 10:36:27,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {32363#(or (<= |student_version_#in~w| 19) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {32363#(or (<= |student_version_#in~w| 19) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {32370#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 18) student_version_~w))} ~i~1 := 2 + ~i~1; {32363#(or (<= |student_version_#in~w| 19) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:27,299 INFO L290 TraceCheckUtils]: 41: Hoare triple {32370#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 18) student_version_~w))} assume !!(~i~1 < ~w); {32370#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 18) student_version_~w))} is VALID [2022-04-08 10:36:27,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {32377#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {32370#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 18) student_version_~w))} is VALID [2022-04-08 10:36:27,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {32377#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {32377#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:36:27,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {32384#(or (<= |student_version_#in~w| 19) (<= 20 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {32377#(or (<= |student_version_#in~w| 19) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:36:27,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {31959#true} ~w := #in~w;~is_divisible~1 := ~true~0; {32384#(or (<= |student_version_#in~w| 19) (<= 20 student_version_~w))} is VALID [2022-04-08 10:36:27,301 INFO L272 TraceCheckUtils]: 36: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:27,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:27,302 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {32032#(<= 20 |correct_version_#in~w|)} {31959#true} #87#return; {31991#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 20) main_~w~0))} is VALID [2022-04-08 10:36:27,302 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:27,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} #res := ~is_divisible~0; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:27,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {32406#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 20 |correct_version_#in~w|))} assume !(~i~0 != ~w); {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:27,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {32406#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 20 |correct_version_#in~w|))} assume !(~i~0 < ~w); {32406#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,304 INFO L290 TraceCheckUtils]: 29: Hoare triple {32413#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32406#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,304 INFO L290 TraceCheckUtils]: 28: Hoare triple {32413#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32413#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {32420#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32413#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {32420#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32420#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {32427#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32420#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {32427#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32427#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {32434#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32427#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {32434#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32434#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,307 INFO L290 TraceCheckUtils]: 21: Hoare triple {32441#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32434#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,307 INFO L290 TraceCheckUtils]: 20: Hoare triple {32441#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32441#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,308 INFO L290 TraceCheckUtils]: 19: Hoare triple {32448#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {32441#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,308 INFO L290 TraceCheckUtils]: 18: Hoare triple {32448#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {32448#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:36:27,309 INFO L290 TraceCheckUtils]: 17: Hoare triple {32455#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32448#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:36:27,309 INFO L290 TraceCheckUtils]: 16: Hoare triple {32455#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32455#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {32462#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32455#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {32462#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32462#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {32469#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32462#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {32469#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32469#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {32476#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 20 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {32469#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,311 INFO L290 TraceCheckUtils]: 10: Hoare triple {32476#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 20 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {32476#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {32483#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w 20))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {32476#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 20 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:27,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {31959#true} ~w := #in~w;~is_divisible~0 := ~true~0; {32483#(or (<= 20 |correct_version_#in~w|) (< correct_version_~w 20))} is VALID [2022-04-08 10:36:27,312 INFO L272 TraceCheckUtils]: 7: Hoare triple {31959#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {31959#true} is VALID [2022-04-08 10:36:27,312 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-08 10:36:27,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {31959#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {31959#true} is VALID [2022-04-08 10:36:27,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-08 10:36:27,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-08 10:36:27,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-08 10:36:27,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {31959#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {31959#true} is VALID [2022-04-08 10:36:27,313 INFO L272 TraceCheckUtils]: 0: Hoare triple {31959#true} call ULTIMATE.init(); {31959#true} is VALID [2022-04-08 10:36:27,313 INFO L134 CoverageAnalysis]: Checked inductivity of 200 backedges. 100 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:27,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1337161140] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:27,313 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:27,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 81 [2022-04-08 10:36:27,313 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:27,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [943746809] [2022-04-08 10:36:27,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [943746809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:27,314 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:27,314 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-08 10:36:27,314 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1857685402] [2022-04-08 10:36:27,314 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:27,314 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 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 69 [2022-04-08 10:36:27,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:27,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:27,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:27,360 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-08 10:36:27,360 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:27,360 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-08 10:36:27,361 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=5443, Unknown=0, NotChecked=0, Total=6480 [2022-04-08 10:36:27,361 INFO L87 Difference]: Start difference. First operand 81 states and 85 transitions. Second operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:29,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:29,469 INFO L93 Difference]: Finished difference Result 93 states and 98 transitions. [2022-04-08 10:36:29,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-08 10:36:29,469 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 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 69 [2022-04-08 10:36:29,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:29,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:29,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 93 transitions. [2022-04-08 10:36:29,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:29,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 93 transitions. [2022-04-08 10:36:29,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 93 transitions. [2022-04-08 10:36:29,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:29,548 INFO L225 Difference]: With dead ends: 93 [2022-04-08 10:36:29,548 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 10:36:29,549 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 87 SyntacticMatches, 5 SemanticMatches, 107 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5106 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=1802, Invalid=9970, Unknown=0, NotChecked=0, Total=11772 [2022-04-08 10:36:29,549 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 104 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 426 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 462 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 426 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:29,549 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [105 Valid, 60 Invalid, 462 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 426 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:36:29,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 10:36:30,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-08 10:36:30,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:30,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:30,202 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:30,202 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:30,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:30,203 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2022-04-08 10:36:30,203 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-08 10:36:30,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:30,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:30,203 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 84 states. [2022-04-08 10:36:30,203 INFO L87 Difference]: Start difference. First operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 84 states. [2022-04-08 10:36:30,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:30,204 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2022-04-08 10:36:30,204 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-08 10:36:30,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:30,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:30,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:30,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:30,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 72 states have (on average 1.0833333333333333) internal successors, (78), 74 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:30,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 89 transitions. [2022-04-08 10:36:30,205 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 89 transitions. Word has length 69 [2022-04-08 10:36:30,205 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:30,206 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 89 transitions. [2022-04-08 10:36:30,206 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.967741935483871) internal successors, (61), 30 states have internal predecessors, (61), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:30,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 89 transitions. [2022-04-08 10:36:30,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:30,365 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-08 10:36:30,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 10:36:30,366 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:30,366 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 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] [2022-04-08 10:36:30,384 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Forceful destruction successful, exit code 0 [2022-04-08 10:36:30,566 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable41 [2022-04-08 10:36:30,566 INFO L403 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:30,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:30,566 INFO L85 PathProgramCache]: Analyzing trace with hash -329597835, now seen corresponding path program 37 times [2022-04-08 10:36:30,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:30,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1341551714] [2022-04-08 10:36:30,569 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:30,569 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:30,570 INFO L85 PathProgramCache]: Analyzing trace with hash -329597835, now seen corresponding path program 38 times [2022-04-08 10:36:30,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:30,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1948627409] [2022-04-08 10:36:30,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:30,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:30,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:30,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:30,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:30,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {33150#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {33088#true} is VALID [2022-04-08 10:36:30,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-08 10:36:30,626 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-08 10:36:30,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:30,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:30,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {33088#true} ~w := #in~w;~is_divisible~0 := ~true~0; {33151#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:30,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {33151#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,856 INFO L290 TraceCheckUtils]: 3: Hoare triple {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,857 INFO L290 TraceCheckUtils]: 4: Hoare triple {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:30,859 INFO L290 TraceCheckUtils]: 10: Hoare triple {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:30,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,860 INFO L290 TraceCheckUtils]: 12: Hoare triple {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:30,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:30,863 INFO L290 TraceCheckUtils]: 17: Hoare triple {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,863 INFO L290 TraceCheckUtils]: 18: Hoare triple {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:30,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:30,865 INFO L290 TraceCheckUtils]: 21: Hoare triple {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {33162#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,865 INFO L290 TraceCheckUtils]: 22: Hoare triple {33162#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {33163#(and (<= correct_version_~w 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:30,866 INFO L290 TraceCheckUtils]: 23: Hoare triple {33163#(and (<= correct_version_~w 20) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:30,866 INFO L290 TraceCheckUtils]: 24: Hoare triple {33164#(<= |correct_version_#in~w| 20)} #res := ~is_divisible~0; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:30,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:30,867 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {33164#(<= |correct_version_#in~w| 20)} {33088#true} #87#return; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:30,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 10:36:30,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:31,124 INFO L290 TraceCheckUtils]: 0: Hoare triple {33088#true} ~w := #in~w;~is_divisible~1 := ~true~0; {33165#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:31,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {33165#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,125 INFO L290 TraceCheckUtils]: 3: Hoare triple {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,126 INFO L290 TraceCheckUtils]: 4: Hoare triple {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:31,127 INFO L290 TraceCheckUtils]: 6: Hoare triple {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:31,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:31,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:31,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:31,129 INFO L290 TraceCheckUtils]: 10: Hoare triple {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:31,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,130 INFO L290 TraceCheckUtils]: 12: Hoare triple {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,130 INFO L290 TraceCheckUtils]: 13: Hoare triple {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:31,131 INFO L290 TraceCheckUtils]: 14: Hoare triple {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:31,131 INFO L290 TraceCheckUtils]: 15: Hoare triple {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,132 INFO L290 TraceCheckUtils]: 16: Hoare triple {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,132 INFO L290 TraceCheckUtils]: 17: Hoare triple {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,133 INFO L290 TraceCheckUtils]: 18: Hoare triple {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,133 INFO L290 TraceCheckUtils]: 19: Hoare triple {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33176#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:31,135 INFO L290 TraceCheckUtils]: 22: Hoare triple {33176#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {33178#(<= 21 |student_version_#in~w|)} #res := ~is_divisible~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,138 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33178#(<= 21 |student_version_#in~w|)} {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} #89#return; {33089#false} is VALID [2022-04-08 10:36:31,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {33088#true} call ULTIMATE.init(); {33150#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:36:31,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {33150#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {33088#true} is VALID [2022-04-08 10:36:31,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-08 10:36:31,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-08 10:36:31,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-08 10:36:31,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {33088#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {33088#true} is VALID [2022-04-08 10:36:31,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-08 10:36:31,140 INFO L272 TraceCheckUtils]: 7: Hoare triple {33088#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:31,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {33088#true} ~w := #in~w;~is_divisible~0 := ~true~0; {33151#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:31,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {33151#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,141 INFO L290 TraceCheckUtils]: 10: Hoare triple {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {33152#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,142 INFO L290 TraceCheckUtils]: 12: Hoare triple {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,142 INFO L290 TraceCheckUtils]: 13: Hoare triple {33153#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,143 INFO L290 TraceCheckUtils]: 14: Hoare triple {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,143 INFO L290 TraceCheckUtils]: 15: Hoare triple {33154#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,144 INFO L290 TraceCheckUtils]: 16: Hoare triple {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,144 INFO L290 TraceCheckUtils]: 17: Hoare triple {33155#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:31,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:31,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {33156#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,146 INFO L290 TraceCheckUtils]: 21: Hoare triple {33157#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,147 INFO L290 TraceCheckUtils]: 23: Hoare triple {33158#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:31,148 INFO L290 TraceCheckUtils]: 24: Hoare triple {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:31,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {33159#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {33160#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:31,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:31,150 INFO L290 TraceCheckUtils]: 29: Hoare triple {33161#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {33162#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {33162#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {33163#(and (<= correct_version_~w 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:31,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {33163#(and (<= correct_version_~w 20) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:31,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {33164#(<= |correct_version_#in~w| 20)} #res := ~is_divisible~0; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:31,152 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:31,152 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33164#(<= |correct_version_#in~w| 20)} {33088#true} #87#return; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:31,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:31,153 INFO L272 TraceCheckUtils]: 36: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:31,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {33088#true} ~w := #in~w;~is_divisible~1 := ~true~0; {33165#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:31,154 INFO L290 TraceCheckUtils]: 38: Hoare triple {33165#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,154 INFO L290 TraceCheckUtils]: 39: Hoare triple {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {33166#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,155 INFO L290 TraceCheckUtils]: 41: Hoare triple {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,155 INFO L290 TraceCheckUtils]: 42: Hoare triple {33167#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:31,155 INFO L290 TraceCheckUtils]: 43: Hoare triple {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:31,156 INFO L290 TraceCheckUtils]: 44: Hoare triple {33168#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:31,156 INFO L290 TraceCheckUtils]: 45: Hoare triple {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:31,157 INFO L290 TraceCheckUtils]: 46: Hoare triple {33169#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:31,157 INFO L290 TraceCheckUtils]: 47: Hoare triple {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:31,157 INFO L290 TraceCheckUtils]: 48: Hoare triple {33170#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,158 INFO L290 TraceCheckUtils]: 49: Hoare triple {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {33171#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:31,159 INFO L290 TraceCheckUtils]: 51: Hoare triple {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:31,159 INFO L290 TraceCheckUtils]: 52: Hoare triple {33172#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,159 INFO L290 TraceCheckUtils]: 53: Hoare triple {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {33173#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,160 INFO L290 TraceCheckUtils]: 55: Hoare triple {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,161 INFO L290 TraceCheckUtils]: 56: Hoare triple {33174#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,161 INFO L290 TraceCheckUtils]: 57: Hoare triple {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,161 INFO L290 TraceCheckUtils]: 58: Hoare triple {33175#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33176#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:31,162 INFO L290 TraceCheckUtils]: 59: Hoare triple {33176#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,162 INFO L290 TraceCheckUtils]: 60: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,163 INFO L290 TraceCheckUtils]: 61: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:31,163 INFO L290 TraceCheckUtils]: 62: Hoare triple {33177#(and (<= 21 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,163 INFO L290 TraceCheckUtils]: 63: Hoare triple {33178#(<= 21 |student_version_#in~w|)} #res := ~is_divisible~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,163 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:31,164 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {33178#(<= 21 |student_version_#in~w|)} {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} #89#return; {33089#false} is VALID [2022-04-08 10:36:31,164 INFO L290 TraceCheckUtils]: 66: Hoare triple {33089#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {33089#false} is VALID [2022-04-08 10:36:31,164 INFO L272 TraceCheckUtils]: 67: Hoare triple {33089#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {33089#false} is VALID [2022-04-08 10:36:31,165 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-08 10:36:31,165 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-08 10:36:31,165 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-08 10:36:31,165 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 100 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:31,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:31,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1948627409] [2022-04-08 10:36:31,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1948627409] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:31,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2077066110] [2022-04-08 10:36:31,166 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:36:31,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:31,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:31,167 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:36:31,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2022-04-08 10:36:31,270 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:36:31,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:31,271 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 10:36:31,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:31,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:32,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {33088#true} call ULTIMATE.init(); {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {33088#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {33088#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L272 TraceCheckUtils]: 7: Hoare triple {33088#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:32,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {33088#true} ~w := #in~w;~is_divisible~0 := ~true~0; {33206#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:32,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {33206#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {33210#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:36:32,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {33210#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {33210#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:36:32,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {33210#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {33217#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:36:32,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {33217#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {33217#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:36:32,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {33217#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {33224#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:36:32,350 INFO L290 TraceCheckUtils]: 14: Hoare triple {33224#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {33224#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:36:32,350 INFO L290 TraceCheckUtils]: 15: Hoare triple {33224#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {33231#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:36:32,351 INFO L290 TraceCheckUtils]: 16: Hoare triple {33231#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {33231#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:36:32,351 INFO L290 TraceCheckUtils]: 17: Hoare triple {33231#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {33238#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:32,351 INFO L290 TraceCheckUtils]: 18: Hoare triple {33238#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {33238#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:32,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {33238#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {33245#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:36:32,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {33245#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {33245#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:36:32,353 INFO L290 TraceCheckUtils]: 21: Hoare triple {33245#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {33252#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:36:32,353 INFO L290 TraceCheckUtils]: 22: Hoare triple {33252#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {33252#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:36:32,353 INFO L290 TraceCheckUtils]: 23: Hoare triple {33252#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {33259#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:32,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {33259#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {33259#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:32,354 INFO L290 TraceCheckUtils]: 25: Hoare triple {33259#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {33266#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:36:32,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {33266#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {33266#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:36:32,355 INFO L290 TraceCheckUtils]: 27: Hoare triple {33266#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {33273#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:32,355 INFO L290 TraceCheckUtils]: 28: Hoare triple {33273#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {33273#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:32,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {33273#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {33280#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:36:32,356 INFO L290 TraceCheckUtils]: 30: Hoare triple {33280#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !(~i~0 < ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:32,356 INFO L290 TraceCheckUtils]: 31: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume !(~i~0 != ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:32,357 INFO L290 TraceCheckUtils]: 32: Hoare triple {33164#(<= |correct_version_#in~w| 20)} #res := ~is_divisible~0; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:32,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:32,358 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33164#(<= |correct_version_#in~w| 20)} {33088#true} #87#return; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:32,358 INFO L290 TraceCheckUtils]: 35: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:32,358 INFO L272 TraceCheckUtils]: 36: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:32,359 INFO L290 TraceCheckUtils]: 37: Hoare triple {33088#true} ~w := #in~w;~is_divisible~1 := ~true~0; {33305#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,359 INFO L290 TraceCheckUtils]: 38: Hoare triple {33305#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {33309#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,359 INFO L290 TraceCheckUtils]: 39: Hoare triple {33309#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33309#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,360 INFO L290 TraceCheckUtils]: 40: Hoare triple {33309#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33316#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,360 INFO L290 TraceCheckUtils]: 41: Hoare triple {33316#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33316#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,361 INFO L290 TraceCheckUtils]: 42: Hoare triple {33316#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33323#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:32,361 INFO L290 TraceCheckUtils]: 43: Hoare triple {33323#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {33323#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:32,361 INFO L290 TraceCheckUtils]: 44: Hoare triple {33323#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {33330#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {33330#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33330#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,362 INFO L290 TraceCheckUtils]: 46: Hoare triple {33330#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33337#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,362 INFO L290 TraceCheckUtils]: 47: Hoare triple {33337#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33337#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,363 INFO L290 TraceCheckUtils]: 48: Hoare triple {33337#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33344#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,363 INFO L290 TraceCheckUtils]: 49: Hoare triple {33344#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33344#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {33344#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33351#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,364 INFO L290 TraceCheckUtils]: 51: Hoare triple {33351#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33351#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,365 INFO L290 TraceCheckUtils]: 52: Hoare triple {33351#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33358#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,365 INFO L290 TraceCheckUtils]: 53: Hoare triple {33358#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33358#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,365 INFO L290 TraceCheckUtils]: 54: Hoare triple {33358#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33365#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,366 INFO L290 TraceCheckUtils]: 55: Hoare triple {33365#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33365#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,366 INFO L290 TraceCheckUtils]: 56: Hoare triple {33365#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33372#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,366 INFO L290 TraceCheckUtils]: 57: Hoare triple {33372#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33372#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,367 INFO L290 TraceCheckUtils]: 58: Hoare triple {33372#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33379#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:32,367 INFO L290 TraceCheckUtils]: 59: Hoare triple {33379#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,368 INFO L290 TraceCheckUtils]: 60: Hoare triple {33178#(<= 21 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,368 INFO L290 TraceCheckUtils]: 61: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume !(~i~1 < ~w); {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,368 INFO L290 TraceCheckUtils]: 62: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,368 INFO L290 TraceCheckUtils]: 63: Hoare triple {33178#(<= 21 |student_version_#in~w|)} #res := ~is_divisible~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,369 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:32,370 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {33178#(<= 21 |student_version_#in~w|)} {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} #89#return; {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L290 TraceCheckUtils]: 66: Hoare triple {33089#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L272 TraceCheckUtils]: 67: Hoare triple {33089#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-08 10:36:32,370 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 100 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:32,370 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:36,997 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-08 10:36:36,997 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-08 10:36:36,997 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-08 10:36:36,997 INFO L272 TraceCheckUtils]: 67: Hoare triple {33089#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {33089#false} is VALID [2022-04-08 10:36:36,998 INFO L290 TraceCheckUtils]: 66: Hoare triple {33089#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {33089#false} is VALID [2022-04-08 10:36:36,998 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {33178#(<= 21 |student_version_#in~w|)} {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} #89#return; {33089#false} is VALID [2022-04-08 10:36:36,999 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:36,999 INFO L290 TraceCheckUtils]: 63: Hoare triple {33178#(<= 21 |student_version_#in~w|)} #res := ~is_divisible~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:36,999 INFO L290 TraceCheckUtils]: 62: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:37,000 INFO L290 TraceCheckUtils]: 61: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume !(~i~1 < ~w); {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:37,000 INFO L290 TraceCheckUtils]: 60: Hoare triple {33178#(<= 21 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:37,000 INFO L290 TraceCheckUtils]: 59: Hoare triple {33452#(or (not (< student_version_~i~1 student_version_~w)) (<= 21 |student_version_#in~w|))} assume !!(~i~1 < ~w); {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-08 10:36:37,001 INFO L290 TraceCheckUtils]: 58: Hoare triple {33456#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {33452#(or (not (< student_version_~i~1 student_version_~w)) (<= 21 |student_version_#in~w|))} is VALID [2022-04-08 10:36:37,001 INFO L290 TraceCheckUtils]: 57: Hoare triple {33456#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {33456#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,002 INFO L290 TraceCheckUtils]: 56: Hoare triple {33463#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {33456#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,002 INFO L290 TraceCheckUtils]: 55: Hoare triple {33463#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {33463#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:36:37,002 INFO L290 TraceCheckUtils]: 54: Hoare triple {33470#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {33463#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:36:37,003 INFO L290 TraceCheckUtils]: 53: Hoare triple {33470#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {33470#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,003 INFO L290 TraceCheckUtils]: 52: Hoare triple {33477#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {33470#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,004 INFO L290 TraceCheckUtils]: 51: Hoare triple {33477#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {33477#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:36:37,004 INFO L290 TraceCheckUtils]: 50: Hoare triple {33484#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 21 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {33477#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:36:37,004 INFO L290 TraceCheckUtils]: 49: Hoare triple {33484#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 21 |student_version_#in~w|))} assume !!(~i~1 < ~w); {33484#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 21 |student_version_#in~w|))} is VALID [2022-04-08 10:36:37,005 INFO L290 TraceCheckUtils]: 48: Hoare triple {33491#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {33484#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 21 |student_version_#in~w|))} is VALID [2022-04-08 10:36:37,005 INFO L290 TraceCheckUtils]: 47: Hoare triple {33491#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {33491#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:36:37,006 INFO L290 TraceCheckUtils]: 46: Hoare triple {33498#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {33491#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:36:37,006 INFO L290 TraceCheckUtils]: 45: Hoare triple {33498#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {33498#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,006 INFO L290 TraceCheckUtils]: 44: Hoare triple {33505#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {33498#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {33505#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {33505#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {33512#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {33505#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:36:37,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {33512#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {33512#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:36:37,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {33519#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {33512#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:36:37,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {33519#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {33519#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:36:37,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {33526#(or (<= 21 |student_version_#in~w|) (<= student_version_~w 20))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {33519#(or (<= 21 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:36:37,009 INFO L290 TraceCheckUtils]: 37: Hoare triple {33088#true} ~w := #in~w;~is_divisible~1 := ~true~0; {33526#(or (<= 21 |student_version_#in~w|) (<= student_version_~w 20))} is VALID [2022-04-08 10:36:37,009 INFO L272 TraceCheckUtils]: 36: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:37,010 INFO L290 TraceCheckUtils]: 35: Hoare triple {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:37,010 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33164#(<= |correct_version_#in~w| 20)} {33088#true} #87#return; {33120#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 20)))} is VALID [2022-04-08 10:36:37,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:37,011 INFO L290 TraceCheckUtils]: 32: Hoare triple {33164#(<= |correct_version_#in~w| 20)} #res := ~is_divisible~0; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:37,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume !(~i~0 != ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:37,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {33551#(or (<= |correct_version_#in~w| 20) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-08 10:36:37,012 INFO L290 TraceCheckUtils]: 29: Hoare triple {33555#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {33551#(or (<= |correct_version_#in~w| 20) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:36:37,013 INFO L290 TraceCheckUtils]: 28: Hoare triple {33555#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {33555#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:36:37,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {33562#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {33555#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:36:37,013 INFO L290 TraceCheckUtils]: 26: Hoare triple {33562#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {33562#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:36:37,014 INFO L290 TraceCheckUtils]: 25: Hoare triple {33569#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 20))} ~i~0 := 2 + ~i~0; {33562#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:36:37,014 INFO L290 TraceCheckUtils]: 24: Hoare triple {33569#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 20))} assume !!(~i~0 < ~w); {33569#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 20))} is VALID [2022-04-08 10:36:37,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {33576#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {33569#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 20))} is VALID [2022-04-08 10:36:37,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {33576#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {33576#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:36:37,015 INFO L290 TraceCheckUtils]: 21: Hoare triple {33583#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {33576#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:36:37,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {33583#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {33583#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:36:37,016 INFO L290 TraceCheckUtils]: 19: Hoare triple {33590#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 20))} ~i~0 := 2 + ~i~0; {33583#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:36:37,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {33590#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 20))} assume !!(~i~0 < ~w); {33590#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 20))} is VALID [2022-04-08 10:36:37,017 INFO L290 TraceCheckUtils]: 17: Hoare triple {33597#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {33590#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 20))} is VALID [2022-04-08 10:36:37,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {33597#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {33597#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:36:37,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {33604#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {33597#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:36:37,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {33604#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {33604#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:36:37,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {33611#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {33604#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:36:37,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {33611#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {33611#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:36:37,019 INFO L290 TraceCheckUtils]: 11: Hoare triple {33618#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {33611#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:36:37,020 INFO L290 TraceCheckUtils]: 10: Hoare triple {33618#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {33618#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:36:37,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {33625#(or (<= |correct_version_#in~w| 20) (< 20 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {33618#(or (<= |correct_version_#in~w| 20) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:36:37,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {33088#true} ~w := #in~w;~is_divisible~0 := ~true~0; {33625#(or (<= |correct_version_#in~w| 20) (< 20 correct_version_~w))} is VALID [2022-04-08 10:36:37,021 INFO L272 TraceCheckUtils]: 7: Hoare triple {33088#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {33088#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {33088#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {33088#true} call ULTIMATE.init(); {33088#true} is VALID [2022-04-08 10:36:37,021 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 121 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:37,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2077066110] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:37,021 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:37,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 29, 29] total 80 [2022-04-08 10:36:37,022 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:37,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1341551714] [2022-04-08 10:36:37,022 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1341551714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:37,022 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:37,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-08 10:36:37,022 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462394936] [2022-04-08 10:36:37,022 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:37,022 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 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 71 [2022-04-08 10:36:37,023 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:37,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:37,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:37,070 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-08 10:36:37,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:37,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-08 10:36:37,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1053, Invalid=5267, Unknown=0, NotChecked=0, Total=6320 [2022-04-08 10:36:37,071 INFO L87 Difference]: Start difference. First operand 84 states and 89 transitions. Second operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:39,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:39,039 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2022-04-08 10:36:39,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 10:36:39,039 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 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 71 [2022-04-08 10:36:39,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:39,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:39,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 96 transitions. [2022-04-08 10:36:39,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:39,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 96 transitions. [2022-04-08 10:36:39,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 96 transitions. [2022-04-08 10:36:39,123 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:39,124 INFO L225 Difference]: With dead ends: 99 [2022-04-08 10:36:39,124 INFO L226 Difference]: Without dead ends: 87 [2022-04-08 10:36:39,125 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 93 SyntacticMatches, 5 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5044 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=1805, Invalid=9537, Unknown=0, NotChecked=0, Total=11342 [2022-04-08 10:36:39,126 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 115 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 377 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 413 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 377 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:39,126 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 52 Invalid, 413 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 377 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:36:39,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-08 10:36:39,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 83. [2022-04-08 10:36:39,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:39,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:39,787 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:39,788 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:39,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:39,789 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2022-04-08 10:36:39,789 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-08 10:36:39,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:39,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:39,790 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:36:39,790 INFO L87 Difference]: Start difference. First operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:36:39,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:39,791 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2022-04-08 10:36:39,791 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-08 10:36:39,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:39,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:39,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:39,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:39,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 73 states have internal predecessors, (76), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:39,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 87 transitions. [2022-04-08 10:36:39,792 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 87 transitions. Word has length 71 [2022-04-08 10:36:39,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:39,792 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 87 transitions. [2022-04-08 10:36:39,793 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:39,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 87 transitions. [2022-04-08 10:36:39,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:39,949 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-08 10:36:39,949 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-08 10:36:39,950 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:39,950 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 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] [2022-04-08 10:36:39,966 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Ended with exit code 0 [2022-04-08 10:36:40,155 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-08 10:36:40,155 INFO L403 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:40,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:40,156 INFO L85 PathProgramCache]: Analyzing trace with hash -1662215467, now seen corresponding path program 37 times [2022-04-08 10:36:40,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:40,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1362690173] [2022-04-08 10:36:40,161 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:40,161 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:40,161 INFO L85 PathProgramCache]: Analyzing trace with hash -1662215467, now seen corresponding path program 38 times [2022-04-08 10:36:40,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:40,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [210179779] [2022-04-08 10:36:40,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:40,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:40,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:40,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:40,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:40,218 INFO L290 TraceCheckUtils]: 0: Hoare triple {34306#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {34244#true} is VALID [2022-04-08 10:36:40,218 INFO L290 TraceCheckUtils]: 1: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-08 10:36:40,218 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-08 10:36:40,218 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:40,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:40,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {34244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {34307#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:40,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {34307#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,458 INFO L290 TraceCheckUtils]: 3: Hoare triple {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,459 INFO L290 TraceCheckUtils]: 4: Hoare triple {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,462 INFO L290 TraceCheckUtils]: 10: Hoare triple {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,463 INFO L290 TraceCheckUtils]: 12: Hoare triple {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,465 INFO L290 TraceCheckUtils]: 16: Hoare triple {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,465 INFO L290 TraceCheckUtils]: 17: Hoare triple {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,466 INFO L290 TraceCheckUtils]: 18: Hoare triple {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,467 INFO L290 TraceCheckUtils]: 21: Hoare triple {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34318#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,468 INFO L290 TraceCheckUtils]: 22: Hoare triple {34318#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,468 INFO L290 TraceCheckUtils]: 23: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} #res := ~is_divisible~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,471 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34320#(<= 21 |correct_version_#in~w|)} {34244#true} #87#return; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:40,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-08 10:36:40,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:40,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {34244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {34321#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:40,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {34321#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:40,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:40,796 INFO L290 TraceCheckUtils]: 3: Hoare triple {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,797 INFO L290 TraceCheckUtils]: 6: Hoare triple {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:40,798 INFO L290 TraceCheckUtils]: 8: Hoare triple {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:40,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,799 INFO L290 TraceCheckUtils]: 10: Hoare triple {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:40,800 INFO L290 TraceCheckUtils]: 12: Hoare triple {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:40,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:40,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:40,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:40,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:40,804 INFO L290 TraceCheckUtils]: 19: Hoare triple {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:40,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:40,805 INFO L290 TraceCheckUtils]: 21: Hoare triple {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {34332#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {34332#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {34333#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 20))} is VALID [2022-04-08 10:36:40,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {34333#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 20))} assume !(~i~1 != ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {34334#(<= |student_version_#in~w| 20)} #res := ~is_divisible~1; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,807 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {34334#(<= |student_version_#in~w| 20)} {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {34245#false} is VALID [2022-04-08 10:36:40,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {34244#true} call ULTIMATE.init(); {34306#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:36:40,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {34306#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {34244#true} is VALID [2022-04-08 10:36:40,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-08 10:36:40,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-08 10:36:40,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-08 10:36:40,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {34244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {34244#true} is VALID [2022-04-08 10:36:40,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-08 10:36:40,809 INFO L272 TraceCheckUtils]: 7: Hoare triple {34244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:40,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {34244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {34307#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:40,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {34307#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,810 INFO L290 TraceCheckUtils]: 10: Hoare triple {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {34308#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,812 INFO L290 TraceCheckUtils]: 13: Hoare triple {34309#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,812 INFO L290 TraceCheckUtils]: 14: Hoare triple {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {34310#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {34311#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {34312#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,816 INFO L290 TraceCheckUtils]: 21: Hoare triple {34313#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,816 INFO L290 TraceCheckUtils]: 22: Hoare triple {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,817 INFO L290 TraceCheckUtils]: 23: Hoare triple {34314#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,817 INFO L290 TraceCheckUtils]: 24: Hoare triple {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {34315#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:40,819 INFO L290 TraceCheckUtils]: 27: Hoare triple {34316#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,819 INFO L290 TraceCheckUtils]: 28: Hoare triple {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,820 INFO L290 TraceCheckUtils]: 29: Hoare triple {34317#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34318#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,820 INFO L290 TraceCheckUtils]: 30: Hoare triple {34318#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:40,822 INFO L290 TraceCheckUtils]: 33: Hoare triple {34319#(and (<= 21 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,822 INFO L290 TraceCheckUtils]: 34: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} #res := ~is_divisible~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,822 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:40,824 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {34320#(<= 21 |correct_version_#in~w|)} {34244#true} #87#return; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:40,824 INFO L290 TraceCheckUtils]: 37: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:40,824 INFO L272 TraceCheckUtils]: 38: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:40,825 INFO L290 TraceCheckUtils]: 39: Hoare triple {34244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {34321#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:40,825 INFO L290 TraceCheckUtils]: 40: Hoare triple {34321#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:40,826 INFO L290 TraceCheckUtils]: 41: Hoare triple {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:40,826 INFO L290 TraceCheckUtils]: 42: Hoare triple {34322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,827 INFO L290 TraceCheckUtils]: 43: Hoare triple {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,827 INFO L290 TraceCheckUtils]: 44: Hoare triple {34323#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,827 INFO L290 TraceCheckUtils]: 45: Hoare triple {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,828 INFO L290 TraceCheckUtils]: 46: Hoare triple {34324#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:40,828 INFO L290 TraceCheckUtils]: 47: Hoare triple {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:40,829 INFO L290 TraceCheckUtils]: 48: Hoare triple {34325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,829 INFO L290 TraceCheckUtils]: 49: Hoare triple {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,829 INFO L290 TraceCheckUtils]: 50: Hoare triple {34326#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:40,830 INFO L290 TraceCheckUtils]: 51: Hoare triple {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:40,830 INFO L290 TraceCheckUtils]: 52: Hoare triple {34327#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,831 INFO L290 TraceCheckUtils]: 53: Hoare triple {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,831 INFO L290 TraceCheckUtils]: 54: Hoare triple {34328#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:40,831 INFO L290 TraceCheckUtils]: 55: Hoare triple {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:40,832 INFO L290 TraceCheckUtils]: 56: Hoare triple {34329#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:40,832 INFO L290 TraceCheckUtils]: 57: Hoare triple {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:40,833 INFO L290 TraceCheckUtils]: 58: Hoare triple {34330#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:40,833 INFO L290 TraceCheckUtils]: 59: Hoare triple {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:40,833 INFO L290 TraceCheckUtils]: 60: Hoare triple {34331#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {34332#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:40,834 INFO L290 TraceCheckUtils]: 61: Hoare triple {34332#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {34333#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 20))} is VALID [2022-04-08 10:36:40,834 INFO L290 TraceCheckUtils]: 62: Hoare triple {34333#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 20))} assume !(~i~1 != ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,834 INFO L290 TraceCheckUtils]: 63: Hoare triple {34334#(<= |student_version_#in~w| 20)} #res := ~is_divisible~1; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,835 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:40,836 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {34334#(<= |student_version_#in~w| 20)} {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L290 TraceCheckUtils]: 66: Hoare triple {34245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L272 TraceCheckUtils]: 67: Hoare triple {34245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-08 10:36:40,836 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 100 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:40,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:40,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [210179779] [2022-04-08 10:36:40,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [210179779] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:40,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [86457515] [2022-04-08 10:36:40,837 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:36:40,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:40,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:40,839 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:36:40,846 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2022-04-08 10:36:40,941 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:36:40,941 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:40,942 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 10:36:40,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:40,972 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:42,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {34244#true} call ULTIMATE.init(); {34244#true} is VALID [2022-04-08 10:36:42,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {34244#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {34244#true} is VALID [2022-04-08 10:36:42,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-08 10:36:42,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-08 10:36:42,279 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-08 10:36:42,279 INFO L290 TraceCheckUtils]: 5: Hoare triple {34244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {34244#true} is VALID [2022-04-08 10:36:42,279 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-08 10:36:42,279 INFO L272 TraceCheckUtils]: 7: Hoare triple {34244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:42,279 INFO L290 TraceCheckUtils]: 8: Hoare triple {34244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {34362#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,279 INFO L290 TraceCheckUtils]: 9: Hoare triple {34362#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {34366#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,280 INFO L290 TraceCheckUtils]: 10: Hoare triple {34366#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {34366#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {34366#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34373#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {34373#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {34373#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {34373#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34380#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {34380#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {34380#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {34380#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34387#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:42,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {34387#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34387#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:42,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {34387#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34394#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {34394#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {34394#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,283 INFO L290 TraceCheckUtils]: 19: Hoare triple {34394#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34401#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:42,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {34401#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34401#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:36:42,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {34401#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34408#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {34408#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {34408#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {34408#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34415#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,285 INFO L290 TraceCheckUtils]: 24: Hoare triple {34415#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {34415#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {34415#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34422#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,286 INFO L290 TraceCheckUtils]: 26: Hoare triple {34422#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {34422#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {34422#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34429#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {34429#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {34429#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {34429#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {34436#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:36:42,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {34436#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,289 INFO L290 TraceCheckUtils]: 32: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume !(~i~0 < ~w); {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,289 INFO L290 TraceCheckUtils]: 33: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,289 INFO L290 TraceCheckUtils]: 34: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} #res := ~is_divisible~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,289 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:42,290 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {34320#(<= 21 |correct_version_#in~w|)} {34244#true} #87#return; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:42,291 INFO L290 TraceCheckUtils]: 37: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:42,291 INFO L272 TraceCheckUtils]: 38: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:42,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {34244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {34467#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:42,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {34467#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {34471#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:42,292 INFO L290 TraceCheckUtils]: 41: Hoare triple {34471#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {34471#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:36:42,292 INFO L290 TraceCheckUtils]: 42: Hoare triple {34471#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {34478#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:36:42,293 INFO L290 TraceCheckUtils]: 43: Hoare triple {34478#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {34478#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:36:42,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {34478#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {34485#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:36:42,293 INFO L290 TraceCheckUtils]: 45: Hoare triple {34485#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {34485#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:36:42,294 INFO L290 TraceCheckUtils]: 46: Hoare triple {34485#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {34492#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:42,294 INFO L290 TraceCheckUtils]: 47: Hoare triple {34492#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {34492#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:36:42,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {34492#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {34499#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:36:42,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {34499#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {34499#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:36:42,295 INFO L290 TraceCheckUtils]: 50: Hoare triple {34499#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {34506#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:42,296 INFO L290 TraceCheckUtils]: 51: Hoare triple {34506#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {34506#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:36:42,296 INFO L290 TraceCheckUtils]: 52: Hoare triple {34506#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {34513#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:36:42,297 INFO L290 TraceCheckUtils]: 53: Hoare triple {34513#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {34513#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:36:42,297 INFO L290 TraceCheckUtils]: 54: Hoare triple {34513#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {34520#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:42,297 INFO L290 TraceCheckUtils]: 55: Hoare triple {34520#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {34520#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:36:42,298 INFO L290 TraceCheckUtils]: 56: Hoare triple {34520#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {34527#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:42,298 INFO L290 TraceCheckUtils]: 57: Hoare triple {34527#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {34527#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:36:42,299 INFO L290 TraceCheckUtils]: 58: Hoare triple {34527#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {34534#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:42,299 INFO L290 TraceCheckUtils]: 59: Hoare triple {34534#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {34534#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:36:42,299 INFO L290 TraceCheckUtils]: 60: Hoare triple {34534#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {34541#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:36:42,300 INFO L290 TraceCheckUtils]: 61: Hoare triple {34541#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !(~i~1 < ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:42,300 INFO L290 TraceCheckUtils]: 62: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume !(~i~1 != ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:42,300 INFO L290 TraceCheckUtils]: 63: Hoare triple {34334#(<= |student_version_#in~w| 20)} #res := ~is_divisible~1; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:42,301 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:42,301 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {34334#(<= |student_version_#in~w| 20)} {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L290 TraceCheckUtils]: 66: Hoare triple {34245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L272 TraceCheckUtils]: 67: Hoare triple {34245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-08 10:36:42,302 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 100 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:42,302 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:36:46,720 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-08 10:36:46,720 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-08 10:36:46,720 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-08 10:36:46,720 INFO L272 TraceCheckUtils]: 67: Hoare triple {34245#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {34245#false} is VALID [2022-04-08 10:36:46,721 INFO L290 TraceCheckUtils]: 66: Hoare triple {34245#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {34245#false} is VALID [2022-04-08 10:36:46,721 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {34334#(<= |student_version_#in~w| 20)} {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {34245#false} is VALID [2022-04-08 10:36:46,722 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:46,722 INFO L290 TraceCheckUtils]: 63: Hoare triple {34334#(<= |student_version_#in~w| 20)} #res := ~is_divisible~1; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:46,722 INFO L290 TraceCheckUtils]: 62: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume !(~i~1 != ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:46,723 INFO L290 TraceCheckUtils]: 61: Hoare triple {34602#(or (<= |student_version_#in~w| 20) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-08 10:36:46,723 INFO L290 TraceCheckUtils]: 60: Hoare triple {34606#(or (<= |student_version_#in~w| 20) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {34602#(or (<= |student_version_#in~w| 20) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:36:46,723 INFO L290 TraceCheckUtils]: 59: Hoare triple {34606#(or (<= |student_version_#in~w| 20) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {34606#(or (<= |student_version_#in~w| 20) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:46,724 INFO L290 TraceCheckUtils]: 58: Hoare triple {34613#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {34606#(or (<= |student_version_#in~w| 20) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:46,724 INFO L290 TraceCheckUtils]: 57: Hoare triple {34613#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {34613#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:36:46,725 INFO L290 TraceCheckUtils]: 56: Hoare triple {34620#(or (<= |student_version_#in~w| 20) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {34613#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:36:46,725 INFO L290 TraceCheckUtils]: 55: Hoare triple {34620#(or (<= |student_version_#in~w| 20) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {34620#(or (<= |student_version_#in~w| 20) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:46,725 INFO L290 TraceCheckUtils]: 54: Hoare triple {34627#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34620#(or (<= |student_version_#in~w| 20) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:36:46,726 INFO L290 TraceCheckUtils]: 53: Hoare triple {34627#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34627#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,726 INFO L290 TraceCheckUtils]: 52: Hoare triple {34634#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34627#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {34634#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34634#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,727 INFO L290 TraceCheckUtils]: 50: Hoare triple {34641#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {34634#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {34641#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {34641#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:36:46,728 INFO L290 TraceCheckUtils]: 48: Hoare triple {34648#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34641#(or (<= |student_version_#in~w| 20) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:36:46,728 INFO L290 TraceCheckUtils]: 47: Hoare triple {34648#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34648#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,729 INFO L290 TraceCheckUtils]: 46: Hoare triple {34655#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34648#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {34655#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34655#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,730 INFO L290 TraceCheckUtils]: 44: Hoare triple {34662#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34655#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,730 INFO L290 TraceCheckUtils]: 43: Hoare triple {34662#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34662#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,730 INFO L290 TraceCheckUtils]: 42: Hoare triple {34669#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 20))} ~i~1 := 2 + ~i~1; {34662#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {34669#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 20))} assume !!(~i~1 < ~w); {34669#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {34676#(or (<= |student_version_#in~w| 20) (< 20 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {34669#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 20))} is VALID [2022-04-08 10:36:46,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {34244#true} ~w := #in~w;~is_divisible~1 := ~true~0; {34676#(or (<= |student_version_#in~w| 20) (< 20 student_version_~w))} is VALID [2022-04-08 10:36:46,732 INFO L272 TraceCheckUtils]: 38: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:46,732 INFO L290 TraceCheckUtils]: 37: Hoare triple {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:46,733 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {34320#(<= 21 |correct_version_#in~w|)} {34244#true} #87#return; {34278#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 21) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:36:46,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} #res := ~is_divisible~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume !(~i~0 < ~w); {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,735 INFO L290 TraceCheckUtils]: 30: Hoare triple {34707#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-08 10:36:46,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {34711#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 21 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34707#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,735 INFO L290 TraceCheckUtils]: 28: Hoare triple {34711#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34711#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {34718#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 21 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34711#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {34718#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34718#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {34725#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 21 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34718#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {34725#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34725#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,738 INFO L290 TraceCheckUtils]: 23: Hoare triple {34732#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 21 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34725#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,738 INFO L290 TraceCheckUtils]: 22: Hoare triple {34732#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34732#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {34739#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {34732#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {34739#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {34739#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:36:46,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {34746#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {34739#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:36:46,739 INFO L290 TraceCheckUtils]: 18: Hoare triple {34746#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {34746#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:36:46,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {34753#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {34746#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:36:46,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {34753#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {34753#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:36:46,741 INFO L290 TraceCheckUtils]: 15: Hoare triple {34760#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {34753#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:36:46,741 INFO L290 TraceCheckUtils]: 14: Hoare triple {34760#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {34760#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:36:46,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {34767#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {34760#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:36:46,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {34767#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {34767#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:36:46,742 INFO L290 TraceCheckUtils]: 11: Hoare triple {34774#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 21 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {34767#(or (<= 21 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:36:46,743 INFO L290 TraceCheckUtils]: 10: Hoare triple {34774#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 21 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {34774#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,743 INFO L290 TraceCheckUtils]: 9: Hoare triple {34781#(or (<= correct_version_~w 20) (<= 21 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {34774#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,743 INFO L290 TraceCheckUtils]: 8: Hoare triple {34244#true} ~w := #in~w;~is_divisible~0 := ~true~0; {34781#(or (<= correct_version_~w 20) (<= 21 |correct_version_#in~w|))} is VALID [2022-04-08 10:36:46,744 INFO L272 TraceCheckUtils]: 7: Hoare triple {34244#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {34244#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {34244#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {34244#true} call ULTIMATE.init(); {34244#true} is VALID [2022-04-08 10:36:46,744 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 121 proven. 100 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:46,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [86457515] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:36:46,745 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:36:46,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 29, 29] total 80 [2022-04-08 10:36:46,745 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:36:46,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1362690173] [2022-04-08 10:36:46,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1362690173] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:36:46,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:36:46,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-08 10:36:46,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [201563777] [2022-04-08 10:36:46,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:36:46,746 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 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 71 [2022-04-08 10:36:46,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:36:46,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:46,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:46,792 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-08 10:36:46,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:46,793 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-08 10:36:46,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1053, Invalid=5267, Unknown=0, NotChecked=0, Total=6320 [2022-04-08 10:36:46,793 INFO L87 Difference]: Start difference. First operand 83 states and 87 transitions. Second operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:48,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:48,919 INFO L93 Difference]: Finished difference Result 93 states and 96 transitions. [2022-04-08 10:36:48,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-08 10:36:48,920 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 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 71 [2022-04-08 10:36:48,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:36:48,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:48,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 88 transitions. [2022-04-08 10:36:48,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:48,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 88 transitions. [2022-04-08 10:36:48,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 88 transitions. [2022-04-08 10:36:48,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:36:48,991 INFO L225 Difference]: With dead ends: 93 [2022-04-08 10:36:48,991 INFO L226 Difference]: Without dead ends: 83 [2022-04-08 10:36:48,992 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 93 SyntacticMatches, 5 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4979 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=1805, Invalid=9537, Unknown=0, NotChecked=0, Total=11342 [2022-04-08 10:36:48,992 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 89 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 539 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 574 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 539 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:36:48,992 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 70 Invalid, 574 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 539 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:36:48,992 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-08 10:36:49,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 82. [2022-04-08 10:36:49,636 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:36:49,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:49,636 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:49,636 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:49,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:49,640 INFO L93 Difference]: Finished difference Result 83 states and 86 transitions. [2022-04-08 10:36:49,640 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 86 transitions. [2022-04-08 10:36:49,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:49,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:49,640 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:36:49,640 INFO L87 Difference]: Start difference. First operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 83 states. [2022-04-08 10:36:49,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:36:49,641 INFO L93 Difference]: Finished difference Result 83 states and 86 transitions. [2022-04-08 10:36:49,641 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 86 transitions. [2022-04-08 10:36:49,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:36:49,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:36:49,642 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:36:49,642 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:36:49,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 70 states have (on average 1.0571428571428572) internal successors, (74), 72 states have internal predecessors, (74), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:36:49,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 85 transitions. [2022-04-08 10:36:49,643 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 85 transitions. Word has length 71 [2022-04-08 10:36:49,643 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:36:49,643 INFO L478 AbstractCegarLoop]: Abstraction has 82 states and 85 transitions. [2022-04-08 10:36:49,643 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.96875) internal successors, (63), 31 states have internal predecessors, (63), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:36:49,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 85 transitions. [2022-04-08 10:36:49,800 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-08 10:36:49,800 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 85 transitions. [2022-04-08 10:36:49,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 10:36:49,800 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:36:49,800 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 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] [2022-04-08 10:36:49,819 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Forceful destruction successful, exit code 0 [2022-04-08 10:36:50,011 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable43 [2022-04-08 10:36:50,011 INFO L403 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:36:50,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:36:50,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1409456937, now seen corresponding path program 39 times [2022-04-08 10:36:50,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:36:50,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [134994700] [2022-04-08 10:36:50,014 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:36:50,014 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:36:50,014 INFO L85 PathProgramCache]: Analyzing trace with hash -1409456937, now seen corresponding path program 40 times [2022-04-08 10:36:50,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:36:50,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [7409643] [2022-04-08 10:36:50,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:36:50,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:36:50,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:50,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:36:50,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:50,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {35442#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {35378#true} is VALID [2022-04-08 10:36:50,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-08 10:36:50,070 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-08 10:36:50,070 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:36:50,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:50,299 INFO L290 TraceCheckUtils]: 0: Hoare triple {35378#true} ~w := #in~w;~is_divisible~0 := ~true~0; {35443#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:50,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {35443#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,301 INFO L290 TraceCheckUtils]: 3: Hoare triple {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,301 INFO L290 TraceCheckUtils]: 4: Hoare triple {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,302 INFO L290 TraceCheckUtils]: 6: Hoare triple {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:50,303 INFO L290 TraceCheckUtils]: 10: Hoare triple {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:50,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:50,306 INFO L290 TraceCheckUtils]: 16: Hoare triple {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:50,306 INFO L290 TraceCheckUtils]: 17: Hoare triple {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,307 INFO L290 TraceCheckUtils]: 19: Hoare triple {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:50,307 INFO L290 TraceCheckUtils]: 20: Hoare triple {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:50,308 INFO L290 TraceCheckUtils]: 21: Hoare triple {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,308 INFO L290 TraceCheckUtils]: 22: Hoare triple {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,309 INFO L290 TraceCheckUtils]: 23: Hoare triple {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35455#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,309 INFO L290 TraceCheckUtils]: 24: Hoare triple {35455#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {35456#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {35456#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {35457#(<= |correct_version_#in~w| 21)} #res := ~is_divisible~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,310 INFO L290 TraceCheckUtils]: 27: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,311 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35457#(<= |correct_version_#in~w| 21)} {35378#true} #87#return; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:36:50,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-08 10:36:50,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:50,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {35378#true} ~w := #in~w;~is_divisible~1 := ~true~0; {35458#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:50,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {35458#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:50,535 INFO L290 TraceCheckUtils]: 6: Hoare triple {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:50,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:50,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:50,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:50,536 INFO L290 TraceCheckUtils]: 10: Hoare triple {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:50,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:50,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:50,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,539 INFO L290 TraceCheckUtils]: 16: Hoare triple {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,540 INFO L290 TraceCheckUtils]: 19: Hoare triple {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:50,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:50,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {35471#(<= 22 |student_version_#in~w|)} #res := ~is_divisible~1; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,544 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35471#(<= 22 |student_version_#in~w|)} {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} #89#return; {35379#false} is VALID [2022-04-08 10:36:50,544 INFO L272 TraceCheckUtils]: 0: Hoare triple {35378#true} call ULTIMATE.init(); {35442#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:36:50,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {35442#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {35378#true} is VALID [2022-04-08 10:36:50,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-08 10:36:50,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-08 10:36:50,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-08 10:36:50,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {35378#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {35378#true} is VALID [2022-04-08 10:36:50,545 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-08 10:36:50,545 INFO L272 TraceCheckUtils]: 7: Hoare triple {35378#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:36:50,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {35378#true} ~w := #in~w;~is_divisible~0 := ~true~0; {35443#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:50,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {35443#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,546 INFO L290 TraceCheckUtils]: 10: Hoare triple {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {35444#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {35445#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,548 INFO L290 TraceCheckUtils]: 15: Hoare triple {35446#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,548 INFO L290 TraceCheckUtils]: 16: Hoare triple {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,549 INFO L290 TraceCheckUtils]: 17: Hoare triple {35447#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:50,549 INFO L290 TraceCheckUtils]: 18: Hoare triple {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:50,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {35448#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,550 INFO L290 TraceCheckUtils]: 21: Hoare triple {35449#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,550 INFO L290 TraceCheckUtils]: 22: Hoare triple {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,551 INFO L290 TraceCheckUtils]: 23: Hoare triple {35450#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:50,551 INFO L290 TraceCheckUtils]: 24: Hoare triple {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:50,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {35451#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,552 INFO L290 TraceCheckUtils]: 26: Hoare triple {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {35452#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:50,553 INFO L290 TraceCheckUtils]: 28: Hoare triple {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:50,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {35453#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {35454#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {35455#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {35455#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {35456#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:36:50,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {35456#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 22)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {35457#(<= |correct_version_#in~w| 21)} #res := ~is_divisible~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:50,556 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35457#(<= |correct_version_#in~w| 21)} {35378#true} #87#return; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:36:50,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:36:50,557 INFO L272 TraceCheckUtils]: 38: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:36:50,557 INFO L290 TraceCheckUtils]: 39: Hoare triple {35378#true} ~w := #in~w;~is_divisible~1 := ~true~0; {35458#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:36:50,557 INFO L290 TraceCheckUtils]: 40: Hoare triple {35458#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,558 INFO L290 TraceCheckUtils]: 42: Hoare triple {35459#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {35460#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:50,559 INFO L290 TraceCheckUtils]: 45: Hoare triple {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:50,560 INFO L290 TraceCheckUtils]: 46: Hoare triple {35461#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:50,560 INFO L290 TraceCheckUtils]: 47: Hoare triple {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:36:50,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {35462#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:50,561 INFO L290 TraceCheckUtils]: 49: Hoare triple {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:36:50,561 INFO L290 TraceCheckUtils]: 50: Hoare triple {35463#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,562 INFO L290 TraceCheckUtils]: 51: Hoare triple {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {35464#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:50,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:36:50,563 INFO L290 TraceCheckUtils]: 54: Hoare triple {35465#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,563 INFO L290 TraceCheckUtils]: 55: Hoare triple {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {35466#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,564 INFO L290 TraceCheckUtils]: 57: Hoare triple {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,564 INFO L290 TraceCheckUtils]: 58: Hoare triple {35467#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,565 INFO L290 TraceCheckUtils]: 59: Hoare triple {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,565 INFO L290 TraceCheckUtils]: 60: Hoare triple {35468#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:50,566 INFO L290 TraceCheckUtils]: 61: Hoare triple {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:36:50,566 INFO L290 TraceCheckUtils]: 62: Hoare triple {35469#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,566 INFO L290 TraceCheckUtils]: 63: Hoare triple {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:36:50,567 INFO L290 TraceCheckUtils]: 64: Hoare triple {35470#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {35471#(<= 22 |student_version_#in~w|)} #res := ~is_divisible~1; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,567 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:50,568 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {35471#(<= 22 |student_version_#in~w|)} {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} #89#return; {35379#false} is VALID [2022-04-08 10:36:50,568 INFO L290 TraceCheckUtils]: 68: Hoare triple {35379#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {35379#false} is VALID [2022-04-08 10:36:50,568 INFO L272 TraceCheckUtils]: 69: Hoare triple {35379#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {35379#false} is VALID [2022-04-08 10:36:50,568 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-08 10:36:50,568 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-08 10:36:50,568 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-08 10:36:50,569 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:50,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:36:50,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [7409643] [2022-04-08 10:36:50,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [7409643] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:36:50,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [958186774] [2022-04-08 10:36:50,569 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:36:50,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:36:50,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:36:50,570 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:36:50,572 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2022-04-08 10:36:50,668 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:36:50,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:36:50,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 10:36:50,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:36:50,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:36:52,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {35378#true} call ULTIMATE.init(); {35378#true} is VALID [2022-04-08 10:36:52,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {35378#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {35378#true} is VALID [2022-04-08 10:36:52,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-08 10:36:52,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-08 10:36:52,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-08 10:36:52,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {35378#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {35378#true} is VALID [2022-04-08 10:36:52,012 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-08 10:36:52,012 INFO L272 TraceCheckUtils]: 7: Hoare triple {35378#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:36:52,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {35378#true} ~w := #in~w;~is_divisible~0 := ~true~0; {35499#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:36:52,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {35499#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {35503#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:36:52,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {35503#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {35503#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:36:52,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {35503#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {35510#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:36:52,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {35510#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {35510#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:36:52,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {35510#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {35517#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:36:52,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {35517#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {35517#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:36:52,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {35517#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {35524#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:36:52,015 INFO L290 TraceCheckUtils]: 16: Hoare triple {35524#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {35524#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:36:52,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {35524#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {35531#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:52,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {35531#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {35531#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:36:52,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {35531#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {35538#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:36:52,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {35538#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {35538#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:36:52,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {35538#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {35545#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:36:52,018 INFO L290 TraceCheckUtils]: 22: Hoare triple {35545#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {35545#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:36:52,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {35545#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {35552#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:52,018 INFO L290 TraceCheckUtils]: 24: Hoare triple {35552#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {35552#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:36:52,019 INFO L290 TraceCheckUtils]: 25: Hoare triple {35552#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {35559#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:36:52,019 INFO L290 TraceCheckUtils]: 26: Hoare triple {35559#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {35559#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:36:52,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {35559#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {35566#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:52,020 INFO L290 TraceCheckUtils]: 28: Hoare triple {35566#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {35566#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:36:52,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {35566#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {35573#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:36:52,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {35573#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {35573#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:36:52,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {35573#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {35580#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:36:52,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {35580#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !(~i~0 < ~w); {35584#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:36:52,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {35584#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 22))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:52,022 INFO L290 TraceCheckUtils]: 34: Hoare triple {35457#(<= |correct_version_#in~w| 21)} #res := ~is_divisible~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:52,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:36:52,024 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35457#(<= |correct_version_#in~w| 21)} {35378#true} #87#return; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:36:52,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:36:52,024 INFO L272 TraceCheckUtils]: 38: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:36:52,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {35378#true} ~w := #in~w;~is_divisible~1 := ~true~0; {35606#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:36:52,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {35606#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {35610#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {35610#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35610#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,025 INFO L290 TraceCheckUtils]: 42: Hoare triple {35610#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35617#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,026 INFO L290 TraceCheckUtils]: 43: Hoare triple {35617#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35617#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,026 INFO L290 TraceCheckUtils]: 44: Hoare triple {35617#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35624#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:52,027 INFO L290 TraceCheckUtils]: 45: Hoare triple {35624#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {35624#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:36:52,027 INFO L290 TraceCheckUtils]: 46: Hoare triple {35624#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {35631#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {35631#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35631#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,028 INFO L290 TraceCheckUtils]: 48: Hoare triple {35631#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35638#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {35638#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35638#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,029 INFO L290 TraceCheckUtils]: 50: Hoare triple {35638#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35645#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {35645#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35645#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {35645#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35652#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,030 INFO L290 TraceCheckUtils]: 53: Hoare triple {35652#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35652#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,030 INFO L290 TraceCheckUtils]: 54: Hoare triple {35652#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35659#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {35659#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35659#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {35659#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35666#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,031 INFO L290 TraceCheckUtils]: 57: Hoare triple {35666#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35666#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,032 INFO L290 TraceCheckUtils]: 58: Hoare triple {35666#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35673#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,032 INFO L290 TraceCheckUtils]: 59: Hoare triple {35673#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35673#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,033 INFO L290 TraceCheckUtils]: 60: Hoare triple {35673#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35680#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {35680#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {35680#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {35680#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35687#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,034 INFO L290 TraceCheckUtils]: 63: Hoare triple {35687#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {35687#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:36:52,034 INFO L290 TraceCheckUtils]: 64: Hoare triple {35687#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:52,034 INFO L290 TraceCheckUtils]: 65: Hoare triple {35471#(<= 22 |student_version_#in~w|)} #res := ~is_divisible~1; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:52,035 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:36:52,036 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {35471#(<= 22 |student_version_#in~w|)} {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} #89#return; {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L290 TraceCheckUtils]: 68: Hoare triple {35379#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L272 TraceCheckUtils]: 69: Hoare triple {35379#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-08 10:36:52,036 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:36:52,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:05,469 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-08 10:37:05,469 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-08 10:37:05,469 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-08 10:37:05,469 INFO L272 TraceCheckUtils]: 69: Hoare triple {35379#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {35379#false} is VALID [2022-04-08 10:37:05,469 INFO L290 TraceCheckUtils]: 68: Hoare triple {35379#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {35379#false} is VALID [2022-04-08 10:37:05,474 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {35471#(<= 22 |student_version_#in~w|)} {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} #89#return; {35379#false} is VALID [2022-04-08 10:37:05,474 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:37:05,475 INFO L290 TraceCheckUtils]: 65: Hoare triple {35471#(<= 22 |student_version_#in~w|)} #res := ~is_divisible~1; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:37:05,475 INFO L290 TraceCheckUtils]: 64: Hoare triple {35745#(or (<= 22 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-08 10:37:05,475 INFO L290 TraceCheckUtils]: 63: Hoare triple {35745#(or (<= 22 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {35745#(or (<= 22 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:37:05,476 INFO L290 TraceCheckUtils]: 62: Hoare triple {35752#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {35745#(or (<= 22 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:37:05,476 INFO L290 TraceCheckUtils]: 61: Hoare triple {35752#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {35752#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,477 INFO L290 TraceCheckUtils]: 60: Hoare triple {35759#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 22 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35752#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,477 INFO L290 TraceCheckUtils]: 59: Hoare triple {35759#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 22 |student_version_#in~w|))} assume !!(~i~1 < ~w); {35759#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,477 INFO L290 TraceCheckUtils]: 58: Hoare triple {35766#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 22 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35759#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,478 INFO L290 TraceCheckUtils]: 57: Hoare triple {35766#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 22 |student_version_#in~w|))} assume !!(~i~1 < ~w); {35766#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {35773#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {35766#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {35773#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {35773#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:05,479 INFO L290 TraceCheckUtils]: 54: Hoare triple {35780#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 22 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35773#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:05,480 INFO L290 TraceCheckUtils]: 53: Hoare triple {35780#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 22 |student_version_#in~w|))} assume !!(~i~1 < ~w); {35780#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,480 INFO L290 TraceCheckUtils]: 52: Hoare triple {35787#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {35780#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {35787#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {35787#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:37:05,481 INFO L290 TraceCheckUtils]: 50: Hoare triple {35794#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 22 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {35787#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:37:05,481 INFO L290 TraceCheckUtils]: 49: Hoare triple {35794#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 22 |student_version_#in~w|))} assume !!(~i~1 < ~w); {35794#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,482 INFO L290 TraceCheckUtils]: 48: Hoare triple {35801#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {35794#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,482 INFO L290 TraceCheckUtils]: 47: Hoare triple {35801#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {35801#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,482 INFO L290 TraceCheckUtils]: 46: Hoare triple {35808#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {35801#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,483 INFO L290 TraceCheckUtils]: 45: Hoare triple {35808#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {35808#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:37:05,483 INFO L290 TraceCheckUtils]: 44: Hoare triple {35815#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {35808#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:37:05,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {35815#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {35815#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:05,484 INFO L290 TraceCheckUtils]: 42: Hoare triple {35822#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {35815#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:05,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {35822#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {35822#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {35829#(or (< student_version_~w 22) (<= 22 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {35822#(or (<= 22 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:05,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {35378#true} ~w := #in~w;~is_divisible~1 := ~true~0; {35829#(or (< student_version_~w 22) (<= 22 |student_version_#in~w|))} is VALID [2022-04-08 10:37:05,485 INFO L272 TraceCheckUtils]: 38: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:37:05,486 INFO L290 TraceCheckUtils]: 37: Hoare triple {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:37:05,486 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35457#(<= |correct_version_#in~w| 21)} {35378#true} #87#return; {35412#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 21)))} is VALID [2022-04-08 10:37:05,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:37:05,487 INFO L290 TraceCheckUtils]: 34: Hoare triple {35457#(<= |correct_version_#in~w| 21)} #res := ~is_divisible~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:37:05,487 INFO L290 TraceCheckUtils]: 33: Hoare triple {35851#(or (<= |correct_version_#in~w| 21) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-08 10:37:05,488 INFO L290 TraceCheckUtils]: 32: Hoare triple {35855#(or (<= |correct_version_#in~w| 21) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {35851#(or (<= |correct_version_#in~w| 21) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:37:05,488 INFO L290 TraceCheckUtils]: 31: Hoare triple {35859#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {35855#(or (<= |correct_version_#in~w| 21) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:37:05,489 INFO L290 TraceCheckUtils]: 30: Hoare triple {35859#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {35859#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:05,489 INFO L290 TraceCheckUtils]: 29: Hoare triple {35866#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {35859#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:05,489 INFO L290 TraceCheckUtils]: 28: Hoare triple {35866#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {35866#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:37:05,490 INFO L290 TraceCheckUtils]: 27: Hoare triple {35873#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {35866#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:37:05,490 INFO L290 TraceCheckUtils]: 26: Hoare triple {35873#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {35873#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:37:05,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {35880#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {35873#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:37:05,491 INFO L290 TraceCheckUtils]: 24: Hoare triple {35880#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {35880#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:37:05,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {35887#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {35880#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:37:05,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {35887#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {35887#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:05,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {35894#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {35887#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:05,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {35894#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {35894#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:05,493 INFO L290 TraceCheckUtils]: 19: Hoare triple {35901#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {35894#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:05,493 INFO L290 TraceCheckUtils]: 18: Hoare triple {35901#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {35901#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:37:05,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {35908#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {35901#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:37:05,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {35908#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {35908#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:37:05,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {35915#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {35908#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:37:05,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {35915#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {35915#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:37:05,496 INFO L290 TraceCheckUtils]: 13: Hoare triple {35922#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {35915#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:37:05,496 INFO L290 TraceCheckUtils]: 12: Hoare triple {35922#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {35922#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:37:05,496 INFO L290 TraceCheckUtils]: 11: Hoare triple {35929#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {35922#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:37:05,503 INFO L290 TraceCheckUtils]: 10: Hoare triple {35929#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {35929#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:05,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {35936#(or (<= |correct_version_#in~w| 21) (<= 22 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {35929#(or (<= |correct_version_#in~w| 21) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:05,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {35378#true} ~w := #in~w;~is_divisible~0 := ~true~0; {35936#(or (<= |correct_version_#in~w| 21) (<= 22 correct_version_~w))} is VALID [2022-04-08 10:37:05,505 INFO L272 TraceCheckUtils]: 7: Hoare triple {35378#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {35378#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {35378#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {35378#true} is VALID [2022-04-08 10:37:05,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {35378#true} call ULTIMATE.init(); {35378#true} is VALID [2022-04-08 10:37:05,506 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:05,506 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [958186774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:05,506 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:05,506 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 87 [2022-04-08 10:37:05,506 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:05,506 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [134994700] [2022-04-08 10:37:05,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [134994700] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:05,507 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:05,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-08 10:37:05,507 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201221190] [2022-04-08 10:37:05,507 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:05,507 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 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 73 [2022-04-08 10:37:05,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:05,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:05,561 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-08 10:37:05,561 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-08 10:37:05,561 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:05,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-08 10:37:05,562 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=6283, Unknown=0, NotChecked=0, Total=7482 [2022-04-08 10:37:05,563 INFO L87 Difference]: Start difference. First operand 82 states and 85 transitions. Second operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:08,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:08,262 INFO L93 Difference]: Finished difference Result 102 states and 109 transitions. [2022-04-08 10:37:08,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-08 10:37:08,262 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 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 73 [2022-04-08 10:37:08,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:08,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:08,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2022-04-08 10:37:08,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:08,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2022-04-08 10:37:08,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 104 transitions. [2022-04-08 10:37:08,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:08,349 INFO L225 Difference]: With dead ends: 102 [2022-04-08 10:37:08,349 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 10:37:08,350 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 91 SyntacticMatches, 5 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5957 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=2077, Invalid=11495, Unknown=0, NotChecked=0, Total=13572 [2022-04-08 10:37:08,350 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 95 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 737 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 698 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:08,353 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [99 Valid, 77 Invalid, 737 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:37:08,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 10:37:09,038 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 85. [2022-04-08 10:37:09,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:09,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:09,039 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:09,039 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:09,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:09,040 INFO L93 Difference]: Finished difference Result 91 states and 97 transitions. [2022-04-08 10:37:09,040 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 97 transitions. [2022-04-08 10:37:09,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:09,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:09,041 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:37:09,041 INFO L87 Difference]: Start difference. First operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:37:09,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:09,042 INFO L93 Difference]: Finished difference Result 91 states and 97 transitions. [2022-04-08 10:37:09,042 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 97 transitions. [2022-04-08 10:37:09,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:09,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:09,042 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:09,042 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:09,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 73 states have (on average 1.0684931506849316) internal successors, (78), 75 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:09,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 89 transitions. [2022-04-08 10:37:09,044 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 89 transitions. Word has length 73 [2022-04-08 10:37:09,044 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:09,044 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 89 transitions. [2022-04-08 10:37:09,044 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:09,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 89 transitions. [2022-04-08 10:37:09,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:09,218 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 89 transitions. [2022-04-08 10:37:09,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 10:37:09,218 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:09,219 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 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] [2022-04-08 10:37:09,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Forceful destruction successful, exit code 0 [2022-04-08 10:37:09,423 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable44,42 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:09,423 INFO L403 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:09,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:09,424 INFO L85 PathProgramCache]: Analyzing trace with hash 833644691, now seen corresponding path program 39 times [2022-04-08 10:37:09,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:09,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [976578358] [2022-04-08 10:37:09,426 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:09,426 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:09,426 INFO L85 PathProgramCache]: Analyzing trace with hash 833644691, now seen corresponding path program 40 times [2022-04-08 10:37:09,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:09,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [104561248] [2022-04-08 10:37:09,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:09,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:09,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:09,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:09,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:09,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {36643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {36579#true} is VALID [2022-04-08 10:37:09,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-08 10:37:09,477 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-08 10:37:09,478 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:09,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:09,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {36579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {36644#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:09,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {36644#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,708 INFO L290 TraceCheckUtils]: 3: Hoare triple {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,708 INFO L290 TraceCheckUtils]: 4: Hoare triple {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,709 INFO L290 TraceCheckUtils]: 6: Hoare triple {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,711 INFO L290 TraceCheckUtils]: 10: Hoare triple {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:09,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,717 INFO L290 TraceCheckUtils]: 21: Hoare triple {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,718 INFO L290 TraceCheckUtils]: 23: Hoare triple {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,718 INFO L290 TraceCheckUtils]: 24: Hoare triple {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:09,719 INFO L290 TraceCheckUtils]: 25: Hoare triple {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:09,719 INFO L290 TraceCheckUtils]: 26: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} #res := ~is_divisible~0; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:09,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:09,721 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {36657#(<= 22 |correct_version_#in~w|)} {36579#true} #87#return; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:09,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-08 10:37:09,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:10,064 INFO L290 TraceCheckUtils]: 0: Hoare triple {36579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {36658#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:10,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {36658#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:10,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:10,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,066 INFO L290 TraceCheckUtils]: 4: Hoare triple {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,067 INFO L290 TraceCheckUtils]: 6: Hoare triple {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:10,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:10,068 INFO L290 TraceCheckUtils]: 9: Hoare triple {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,068 INFO L290 TraceCheckUtils]: 10: Hoare triple {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,069 INFO L290 TraceCheckUtils]: 11: Hoare triple {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:10,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:10,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,070 INFO L290 TraceCheckUtils]: 14: Hoare triple {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,070 INFO L290 TraceCheckUtils]: 15: Hoare triple {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:10,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:10,071 INFO L290 TraceCheckUtils]: 17: Hoare triple {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:10,072 INFO L290 TraceCheckUtils]: 18: Hoare triple {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:10,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:10,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:10,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,074 INFO L290 TraceCheckUtils]: 23: Hoare triple {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36670#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:37:10,074 INFO L290 TraceCheckUtils]: 24: Hoare triple {36670#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {36671#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:37:10,075 INFO L290 TraceCheckUtils]: 25: Hoare triple {36671#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,075 INFO L290 TraceCheckUtils]: 26: Hoare triple {36672#(<= |student_version_#in~w| 21)} #res := ~is_divisible~1; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,075 INFO L290 TraceCheckUtils]: 27: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,076 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {36672#(<= |student_version_#in~w| 21)} {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} #89#return; {36580#false} is VALID [2022-04-08 10:37:10,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {36579#true} call ULTIMATE.init(); {36643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:37:10,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {36643#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {36579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-08 10:37:10,077 INFO L272 TraceCheckUtils]: 7: Hoare triple {36579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:10,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {36579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {36644#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:10,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {36644#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,079 INFO L290 TraceCheckUtils]: 10: Hoare triple {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,079 INFO L290 TraceCheckUtils]: 11: Hoare triple {36645#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,080 INFO L290 TraceCheckUtils]: 12: Hoare triple {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {36646#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,081 INFO L290 TraceCheckUtils]: 15: Hoare triple {36647#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,081 INFO L290 TraceCheckUtils]: 16: Hoare triple {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,082 INFO L290 TraceCheckUtils]: 17: Hoare triple {36648#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,082 INFO L290 TraceCheckUtils]: 18: Hoare triple {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,082 INFO L290 TraceCheckUtils]: 19: Hoare triple {36649#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,083 INFO L290 TraceCheckUtils]: 21: Hoare triple {36650#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {36651#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,085 INFO L290 TraceCheckUtils]: 25: Hoare triple {36652#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,085 INFO L290 TraceCheckUtils]: 26: Hoare triple {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:10,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {36653#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {36654#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {36655#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,088 INFO L290 TraceCheckUtils]: 32: Hoare triple {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:10,088 INFO L290 TraceCheckUtils]: 33: Hoare triple {36656#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:10,088 INFO L290 TraceCheckUtils]: 34: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} #res := ~is_divisible~0; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:10,089 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:10,090 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {36657#(<= 22 |correct_version_#in~w|)} {36579#true} #87#return; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:10,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:10,090 INFO L272 TraceCheckUtils]: 38: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:10,090 INFO L290 TraceCheckUtils]: 39: Hoare triple {36579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {36658#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:10,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {36658#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:10,091 INFO L290 TraceCheckUtils]: 41: Hoare triple {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:10,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {36659#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {36660#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,093 INFO L290 TraceCheckUtils]: 45: Hoare triple {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,093 INFO L290 TraceCheckUtils]: 46: Hoare triple {36661#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:10,094 INFO L290 TraceCheckUtils]: 47: Hoare triple {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:10,094 INFO L290 TraceCheckUtils]: 48: Hoare triple {36662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,094 INFO L290 TraceCheckUtils]: 49: Hoare triple {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,095 INFO L290 TraceCheckUtils]: 50: Hoare triple {36663#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:10,095 INFO L290 TraceCheckUtils]: 51: Hoare triple {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:10,096 INFO L290 TraceCheckUtils]: 52: Hoare triple {36664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,096 INFO L290 TraceCheckUtils]: 53: Hoare triple {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,096 INFO L290 TraceCheckUtils]: 54: Hoare triple {36665#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:10,097 INFO L290 TraceCheckUtils]: 55: Hoare triple {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:10,097 INFO L290 TraceCheckUtils]: 56: Hoare triple {36666#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:10,098 INFO L290 TraceCheckUtils]: 57: Hoare triple {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:10,098 INFO L290 TraceCheckUtils]: 58: Hoare triple {36667#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:10,098 INFO L290 TraceCheckUtils]: 59: Hoare triple {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:10,099 INFO L290 TraceCheckUtils]: 60: Hoare triple {36668#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,099 INFO L290 TraceCheckUtils]: 61: Hoare triple {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:10,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {36669#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {36670#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-08 10:37:10,100 INFO L290 TraceCheckUtils]: 63: Hoare triple {36670#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {36671#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:37:10,101 INFO L290 TraceCheckUtils]: 64: Hoare triple {36671#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 22) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,101 INFO L290 TraceCheckUtils]: 65: Hoare triple {36672#(<= |student_version_#in~w| 21)} #res := ~is_divisible~1; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,101 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:10,102 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {36672#(<= |student_version_#in~w| 21)} {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} #89#return; {36580#false} is VALID [2022-04-08 10:37:10,102 INFO L290 TraceCheckUtils]: 68: Hoare triple {36580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {36580#false} is VALID [2022-04-08 10:37:10,102 INFO L272 TraceCheckUtils]: 69: Hoare triple {36580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {36580#false} is VALID [2022-04-08 10:37:10,102 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-08 10:37:10,102 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-08 10:37:10,103 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-08 10:37:10,103 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:10,103 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:10,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [104561248] [2022-04-08 10:37:10,103 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [104561248] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:10,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318914740] [2022-04-08 10:37:10,104 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:37:10,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:10,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:10,105 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:37:10,113 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Waiting until timeout for monitored process [2022-04-08 10:37:10,230 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:37:10,230 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:10,231 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 10:37:10,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:10,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:11,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {36579#true} call ULTIMATE.init(); {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {36579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {36579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-08 10:37:11,759 INFO L272 TraceCheckUtils]: 7: Hoare triple {36579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:11,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {36579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {36700#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:37:11,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {36700#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {36704#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,760 INFO L290 TraceCheckUtils]: 10: Hoare triple {36704#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {36704#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,761 INFO L290 TraceCheckUtils]: 11: Hoare triple {36704#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36711#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,761 INFO L290 TraceCheckUtils]: 12: Hoare triple {36711#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {36711#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,762 INFO L290 TraceCheckUtils]: 13: Hoare triple {36711#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36718#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {36718#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {36718#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {36718#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36725#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:11,763 INFO L290 TraceCheckUtils]: 16: Hoare triple {36725#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {36725#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:11,763 INFO L290 TraceCheckUtils]: 17: Hoare triple {36725#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {36732#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {36732#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {36732#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {36732#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36739#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:11,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {36739#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {36739#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:11,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {36739#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {36746#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {36746#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {36746#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,766 INFO L290 TraceCheckUtils]: 23: Hoare triple {36746#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36753#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,766 INFO L290 TraceCheckUtils]: 24: Hoare triple {36753#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {36753#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {36753#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36760#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,767 INFO L290 TraceCheckUtils]: 26: Hoare triple {36760#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {36760#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {36760#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36767#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,768 INFO L290 TraceCheckUtils]: 28: Hoare triple {36767#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {36767#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,768 INFO L290 TraceCheckUtils]: 29: Hoare triple {36767#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36774#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {36774#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {36774#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {36774#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {36781#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,769 INFO L290 TraceCheckUtils]: 32: Hoare triple {36781#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !(~i~0 < ~w); {36781#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:37:11,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {36781#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !(~i~0 != ~w); {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:11,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} #res := ~is_divisible~0; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:11,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:11,771 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {36657#(<= 22 |correct_version_#in~w|)} {36579#true} #87#return; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:11,772 INFO L290 TraceCheckUtils]: 37: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:11,772 INFO L272 TraceCheckUtils]: 38: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:11,772 INFO L290 TraceCheckUtils]: 39: Hoare triple {36579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {36806#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:11,773 INFO L290 TraceCheckUtils]: 40: Hoare triple {36806#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {36810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:11,773 INFO L290 TraceCheckUtils]: 41: Hoare triple {36810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {36810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:11,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {36810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {36817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:37:11,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {36817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {36817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:37:11,774 INFO L290 TraceCheckUtils]: 44: Hoare triple {36817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {36824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:37:11,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {36824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {36824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:37:11,775 INFO L290 TraceCheckUtils]: 46: Hoare triple {36824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {36831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:11,775 INFO L290 TraceCheckUtils]: 47: Hoare triple {36831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {36831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:11,776 INFO L290 TraceCheckUtils]: 48: Hoare triple {36831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {36838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:37:11,776 INFO L290 TraceCheckUtils]: 49: Hoare triple {36838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {36838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:37:11,777 INFO L290 TraceCheckUtils]: 50: Hoare triple {36838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {36845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:11,777 INFO L290 TraceCheckUtils]: 51: Hoare triple {36845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {36845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:11,777 INFO L290 TraceCheckUtils]: 52: Hoare triple {36845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {36852#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:37:11,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {36852#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {36852#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:37:11,778 INFO L290 TraceCheckUtils]: 54: Hoare triple {36852#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {36859#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:11,779 INFO L290 TraceCheckUtils]: 55: Hoare triple {36859#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {36859#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:11,779 INFO L290 TraceCheckUtils]: 56: Hoare triple {36859#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {36866#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:11,779 INFO L290 TraceCheckUtils]: 57: Hoare triple {36866#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {36866#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:11,780 INFO L290 TraceCheckUtils]: 58: Hoare triple {36866#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {36873#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:11,780 INFO L290 TraceCheckUtils]: 59: Hoare triple {36873#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {36873#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:11,781 INFO L290 TraceCheckUtils]: 60: Hoare triple {36873#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {36880#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:37:11,781 INFO L290 TraceCheckUtils]: 61: Hoare triple {36880#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {36880#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:37:11,781 INFO L290 TraceCheckUtils]: 62: Hoare triple {36880#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {36887#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:37:11,782 INFO L290 TraceCheckUtils]: 63: Hoare triple {36887#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !(~i~1 < ~w); {36891#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:37:11,782 INFO L290 TraceCheckUtils]: 64: Hoare triple {36891#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 22))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:11,783 INFO L290 TraceCheckUtils]: 65: Hoare triple {36672#(<= |student_version_#in~w| 21)} #res := ~is_divisible~1; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:11,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:11,784 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {36672#(<= |student_version_#in~w| 21)} {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} #89#return; {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L290 TraceCheckUtils]: 68: Hoare triple {36580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L272 TraceCheckUtils]: 69: Hoare triple {36580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-08 10:37:11,784 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:11,784 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:21,268 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-08 10:37:21,268 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-08 10:37:21,268 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-08 10:37:21,268 INFO L272 TraceCheckUtils]: 69: Hoare triple {36580#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {36580#false} is VALID [2022-04-08 10:37:21,268 INFO L290 TraceCheckUtils]: 68: Hoare triple {36580#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {36580#false} is VALID [2022-04-08 10:37:21,269 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {36672#(<= |student_version_#in~w| 21)} {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} #89#return; {36580#false} is VALID [2022-04-08 10:37:21,270 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:21,270 INFO L290 TraceCheckUtils]: 65: Hoare triple {36672#(<= |student_version_#in~w| 21)} #res := ~is_divisible~1; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:21,270 INFO L290 TraceCheckUtils]: 64: Hoare triple {36946#(or (<= |student_version_#in~w| 21) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-08 10:37:21,271 INFO L290 TraceCheckUtils]: 63: Hoare triple {36950#(or (<= |student_version_#in~w| 21) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {36946#(or (<= |student_version_#in~w| 21) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:37:21,271 INFO L290 TraceCheckUtils]: 62: Hoare triple {36954#(or (<= |student_version_#in~w| 21) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {36950#(or (<= |student_version_#in~w| 21) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:37:21,272 INFO L290 TraceCheckUtils]: 61: Hoare triple {36954#(or (<= |student_version_#in~w| 21) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {36954#(or (<= |student_version_#in~w| 21) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,272 INFO L290 TraceCheckUtils]: 60: Hoare triple {36961#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {36954#(or (<= |student_version_#in~w| 21) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,273 INFO L290 TraceCheckUtils]: 59: Hoare triple {36961#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {36961#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:37:21,273 INFO L290 TraceCheckUtils]: 58: Hoare triple {36968#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} ~i~1 := 2 + ~i~1; {36961#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:37:21,274 INFO L290 TraceCheckUtils]: 57: Hoare triple {36968#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} assume !!(~i~1 < ~w); {36968#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,275 INFO L290 TraceCheckUtils]: 56: Hoare triple {36975#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {36968#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,275 INFO L290 TraceCheckUtils]: 55: Hoare triple {36975#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {36975#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:37:21,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {36982#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 21))} ~i~1 := 2 + ~i~1; {36975#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:37:21,276 INFO L290 TraceCheckUtils]: 53: Hoare triple {36982#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 21))} assume !!(~i~1 < ~w); {36982#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,276 INFO L290 TraceCheckUtils]: 52: Hoare triple {36989#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 21))} ~i~1 := 2 + ~i~1; {36982#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,277 INFO L290 TraceCheckUtils]: 51: Hoare triple {36989#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 21))} assume !!(~i~1 < ~w); {36989#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,277 INFO L290 TraceCheckUtils]: 50: Hoare triple {36996#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} ~i~1 := 2 + ~i~1; {36989#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,277 INFO L290 TraceCheckUtils]: 49: Hoare triple {36996#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} assume !!(~i~1 < ~w); {36996#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,278 INFO L290 TraceCheckUtils]: 48: Hoare triple {37003#(or (<= |student_version_#in~w| 21) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {36996#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,278 INFO L290 TraceCheckUtils]: 47: Hoare triple {37003#(or (<= |student_version_#in~w| 21) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {37003#(or (<= |student_version_#in~w| 21) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,279 INFO L290 TraceCheckUtils]: 46: Hoare triple {37010#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 21))} ~i~1 := 2 + ~i~1; {37003#(or (<= |student_version_#in~w| 21) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,279 INFO L290 TraceCheckUtils]: 45: Hoare triple {37010#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 21))} assume !!(~i~1 < ~w); {37010#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,280 INFO L290 TraceCheckUtils]: 44: Hoare triple {37017#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {37010#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 21))} is VALID [2022-04-08 10:37:21,280 INFO L290 TraceCheckUtils]: 43: Hoare triple {37017#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {37017#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:37:21,280 INFO L290 TraceCheckUtils]: 42: Hoare triple {37024#(or (<= |student_version_#in~w| 21) (<= (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {37017#(or (<= |student_version_#in~w| 21) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:37:21,281 INFO L290 TraceCheckUtils]: 41: Hoare triple {37024#(or (<= |student_version_#in~w| 21) (<= (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {37024#(or (<= |student_version_#in~w| 21) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {37031#(or (<= |student_version_#in~w| 21) (<= 22 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {37024#(or (<= |student_version_#in~w| 21) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:21,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {36579#true} ~w := #in~w;~is_divisible~1 := ~true~0; {37031#(or (<= |student_version_#in~w| 21) (<= 22 student_version_~w))} is VALID [2022-04-08 10:37:21,281 INFO L272 TraceCheckUtils]: 38: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:21,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:21,283 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {36657#(<= 22 |correct_version_#in~w|)} {36579#true} #87#return; {36613#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 22) main_~w~0))} is VALID [2022-04-08 10:37:21,283 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:21,283 INFO L290 TraceCheckUtils]: 34: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} #res := ~is_divisible~0; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:21,284 INFO L290 TraceCheckUtils]: 33: Hoare triple {37053#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 22 |correct_version_#in~w|))} assume !(~i~0 != ~w); {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:21,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {37053#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 22 |correct_version_#in~w|))} assume !(~i~0 < ~w); {37053#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,285 INFO L290 TraceCheckUtils]: 31: Hoare triple {37060#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37053#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {37060#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37060#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {37067#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37060#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,288 INFO L290 TraceCheckUtils]: 28: Hoare triple {37067#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37067#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,289 INFO L290 TraceCheckUtils]: 27: Hoare triple {37074#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37067#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {37074#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37074#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {37081#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37074#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {37081#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37081#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {37088#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37081#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,292 INFO L290 TraceCheckUtils]: 22: Hoare triple {37088#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37088#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,292 INFO L290 TraceCheckUtils]: 21: Hoare triple {37095#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37088#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {37095#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37095#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {37102#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37095#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {37102#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37102#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,295 INFO L290 TraceCheckUtils]: 17: Hoare triple {37109#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37102#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {37109#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37109#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {37116#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37109#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {37116#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37116#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,297 INFO L290 TraceCheckUtils]: 13: Hoare triple {37123#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37116#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,297 INFO L290 TraceCheckUtils]: 12: Hoare triple {37123#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37123#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {37130#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 22 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {37123#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,299 INFO L290 TraceCheckUtils]: 10: Hoare triple {37130#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 22 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {37130#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {37137#(or (< correct_version_~w 22) (<= 22 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {37130#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {36579#true} ~w := #in~w;~is_divisible~0 := ~true~0; {37137#(or (< correct_version_~w 22) (<= 22 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:21,300 INFO L272 TraceCheckUtils]: 7: Hoare triple {36579#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {36579#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {36579#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {36579#true} is VALID [2022-04-08 10:37:21,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {36579#true} call ULTIMATE.init(); {36579#true} is VALID [2022-04-08 10:37:21,301 INFO L134 CoverageAnalysis]: Checked inductivity of 242 backedges. 121 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:21,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318914740] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:21,301 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:21,301 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 87 [2022-04-08 10:37:21,301 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:21,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [976578358] [2022-04-08 10:37:21,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [976578358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:21,302 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:21,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-08 10:37:21,302 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [728387416] [2022-04-08 10:37:21,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:21,302 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 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 73 [2022-04-08 10:37:21,302 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:21,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:21,362 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-08 10:37:21,362 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-08 10:37:21,362 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:21,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-08 10:37:21,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=6283, Unknown=0, NotChecked=0, Total=7482 [2022-04-08 10:37:21,363 INFO L87 Difference]: Start difference. First operand 85 states and 89 transitions. Second operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:23,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:23,756 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2022-04-08 10:37:23,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-08 10:37:23,756 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 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 73 [2022-04-08 10:37:23,756 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:23,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:23,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-04-08 10:37:23,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:23,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-04-08 10:37:23,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 97 transitions. [2022-04-08 10:37:23,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:23,859 INFO L225 Difference]: With dead ends: 97 [2022-04-08 10:37:23,859 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 10:37:23,860 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 91 SyntacticMatches, 5 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5969 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=2077, Invalid=11495, Unknown=0, NotChecked=0, Total=13572 [2022-04-08 10:37:23,860 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 107 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 108 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 584 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:23,860 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [108 Valid, 70 Invalid, 584 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:37:23,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 10:37:24,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-08 10:37:24,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:24,602 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:24,602 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:24,602 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:24,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:24,603 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-08 10:37:24,603 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-08 10:37:24,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:24,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:24,604 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 88 states. [2022-04-08 10:37:24,604 INFO L87 Difference]: Start difference. First operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 88 states. [2022-04-08 10:37:24,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:24,605 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-08 10:37:24,605 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-08 10:37:24,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:24,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:24,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:24,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:24,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 76 states have (on average 1.0789473684210527) internal successors, (82), 78 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:24,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 93 transitions. [2022-04-08 10:37:24,606 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 93 transitions. Word has length 73 [2022-04-08 10:37:24,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:24,606 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 93 transitions. [2022-04-08 10:37:24,606 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.9696969696969697) internal successors, (65), 32 states have internal predecessors, (65), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:24,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 93 transitions. [2022-04-08 10:37:24,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:24,784 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-08 10:37:24,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 10:37:24,785 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:24,785 INFO L499 BasicCegarLoop]: trace histogram [12, 12, 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] [2022-04-08 10:37:24,802 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-08 10:37:24,985 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable45,43 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:24,985 INFO L403 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:24,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:24,986 INFO L85 PathProgramCache]: Analyzing trace with hash 541409941, now seen corresponding path program 41 times [2022-04-08 10:37:24,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:24,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [314748048] [2022-04-08 10:37:24,988 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:24,988 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:24,988 INFO L85 PathProgramCache]: Analyzing trace with hash 541409941, now seen corresponding path program 42 times [2022-04-08 10:37:24,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:24,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [538697171] [2022-04-08 10:37:24,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:24,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:25,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:25,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:25,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:25,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {37836#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {37770#true} is VALID [2022-04-08 10:37:25,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-08 10:37:25,043 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-08 10:37:25,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:25,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:25,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {37770#true} ~w := #in~w;~is_divisible~0 := ~true~0; {37837#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:25,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {37837#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,268 INFO L290 TraceCheckUtils]: 3: Hoare triple {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,268 INFO L290 TraceCheckUtils]: 4: Hoare triple {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,269 INFO L290 TraceCheckUtils]: 6: Hoare triple {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,270 INFO L290 TraceCheckUtils]: 7: Hoare triple {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:25,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:25,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,272 INFO L290 TraceCheckUtils]: 12: Hoare triple {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:25,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:25,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:25,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:25,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37849#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {37849#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {37850#(and (<= correct_version_~w 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {37850#(and (<= correct_version_~w 22) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {37851#(<= |correct_version_#in~w| 22)} #res := ~is_divisible~0; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,278 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37851#(<= |correct_version_#in~w| 22)} {37770#true} #87#return; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:25,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-08 10:37:25,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:25,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {37770#true} ~w := #in~w;~is_divisible~1 := ~true~0; {37852#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:25,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {37852#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,506 INFO L290 TraceCheckUtils]: 3: Hoare triple {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,506 INFO L290 TraceCheckUtils]: 4: Hoare triple {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:25,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:25,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:25,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:25,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:25,509 INFO L290 TraceCheckUtils]: 10: Hoare triple {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:25,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:25,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:25,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:25,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:25,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37864#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {37864#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} ~i~1 := 2 + ~i~1; {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} assume !(~i~1 < ~w); {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {37866#(<= 23 |student_version_#in~w|)} #res := ~is_divisible~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,517 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {37866#(<= 23 |student_version_#in~w|)} {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} #89#return; {37771#false} is VALID [2022-04-08 10:37:25,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {37770#true} call ULTIMATE.init(); {37836#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:37:25,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {37836#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {37770#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-08 10:37:25,518 INFO L272 TraceCheckUtils]: 7: Hoare triple {37770#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:25,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {37770#true} ~w := #in~w;~is_divisible~0 := ~true~0; {37837#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:25,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {37837#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,519 INFO L290 TraceCheckUtils]: 10: Hoare triple {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {37838#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {37839#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {37840#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,522 INFO L290 TraceCheckUtils]: 16: Hoare triple {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,522 INFO L290 TraceCheckUtils]: 17: Hoare triple {37841#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:25,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:25,523 INFO L290 TraceCheckUtils]: 19: Hoare triple {37842#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {37843#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,525 INFO L290 TraceCheckUtils]: 23: Hoare triple {37844#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:25,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:25,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {37845#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {37846#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:25,527 INFO L290 TraceCheckUtils]: 28: Hoare triple {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:25,527 INFO L290 TraceCheckUtils]: 29: Hoare triple {37847#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {37848#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {37849#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,528 INFO L290 TraceCheckUtils]: 32: Hoare triple {37849#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {37850#(and (<= correct_version_~w 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:25,529 INFO L290 TraceCheckUtils]: 33: Hoare triple {37850#(and (<= correct_version_~w 22) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,529 INFO L290 TraceCheckUtils]: 34: Hoare triple {37851#(<= |correct_version_#in~w| 22)} #res := ~is_divisible~0; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,529 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:25,530 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {37851#(<= |correct_version_#in~w| 22)} {37770#true} #87#return; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:25,530 INFO L290 TraceCheckUtils]: 37: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:25,530 INFO L272 TraceCheckUtils]: 38: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:25,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {37770#true} ~w := #in~w;~is_divisible~1 := ~true~0; {37852#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:25,531 INFO L290 TraceCheckUtils]: 40: Hoare triple {37852#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,531 INFO L290 TraceCheckUtils]: 41: Hoare triple {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,532 INFO L290 TraceCheckUtils]: 42: Hoare triple {37853#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,533 INFO L290 TraceCheckUtils]: 44: Hoare triple {37854#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:25,533 INFO L290 TraceCheckUtils]: 45: Hoare triple {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:25,533 INFO L290 TraceCheckUtils]: 46: Hoare triple {37855#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:25,534 INFO L290 TraceCheckUtils]: 47: Hoare triple {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:25,534 INFO L290 TraceCheckUtils]: 48: Hoare triple {37856#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:25,535 INFO L290 TraceCheckUtils]: 49: Hoare triple {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:25,535 INFO L290 TraceCheckUtils]: 50: Hoare triple {37857#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,535 INFO L290 TraceCheckUtils]: 51: Hoare triple {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,536 INFO L290 TraceCheckUtils]: 52: Hoare triple {37858#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:25,536 INFO L290 TraceCheckUtils]: 53: Hoare triple {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:25,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {37859#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,537 INFO L290 TraceCheckUtils]: 55: Hoare triple {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,537 INFO L290 TraceCheckUtils]: 56: Hoare triple {37860#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,538 INFO L290 TraceCheckUtils]: 57: Hoare triple {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,538 INFO L290 TraceCheckUtils]: 58: Hoare triple {37861#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,538 INFO L290 TraceCheckUtils]: 59: Hoare triple {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,539 INFO L290 TraceCheckUtils]: 60: Hoare triple {37862#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:25,539 INFO L290 TraceCheckUtils]: 61: Hoare triple {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:25,540 INFO L290 TraceCheckUtils]: 62: Hoare triple {37863#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {37864#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:25,540 INFO L290 TraceCheckUtils]: 63: Hoare triple {37864#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,540 INFO L290 TraceCheckUtils]: 64: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} ~i~1 := 2 + ~i~1; {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,541 INFO L290 TraceCheckUtils]: 65: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} assume !(~i~1 < ~w); {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} is VALID [2022-04-08 10:37:25,541 INFO L290 TraceCheckUtils]: 66: Hoare triple {37865#(and (= |student_version_#in~w| student_version_~w) (<= 23 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,541 INFO L290 TraceCheckUtils]: 67: Hoare triple {37866#(<= 23 |student_version_#in~w|)} #res := ~is_divisible~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,542 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:25,543 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {37866#(<= 23 |student_version_#in~w|)} {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} #89#return; {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L290 TraceCheckUtils]: 70: Hoare triple {37771#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L272 TraceCheckUtils]: 71: Hoare triple {37771#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-08 10:37:25,543 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 121 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:25,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:25,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [538697171] [2022-04-08 10:37:25,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [538697171] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:25,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1391688073] [2022-04-08 10:37:25,544 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:37:25,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:25,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:25,545 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:37:25,546 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-04-08 10:37:25,658 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-08 10:37:25,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:25,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 10:37:25,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:25,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:26,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {37770#true} call ULTIMATE.init(); {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {37770#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {37770#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {37770#true} is VALID [2022-04-08 10:37:26,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-08 10:37:26,845 INFO L272 TraceCheckUtils]: 7: Hoare triple {37770#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:26,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {37770#true} ~w := #in~w;~is_divisible~0 := ~true~0; {37894#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:26,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {37894#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {37898#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:37:26,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {37898#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {37898#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:37:26,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {37898#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {37905#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:37:26,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {37905#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {37905#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:37:26,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {37905#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {37912#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:37:26,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {37912#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {37912#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:37:26,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {37912#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {37919#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:37:26,848 INFO L290 TraceCheckUtils]: 16: Hoare triple {37919#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {37919#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:37:26,849 INFO L290 TraceCheckUtils]: 17: Hoare triple {37919#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {37926#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:26,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {37926#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {37926#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:26,849 INFO L290 TraceCheckUtils]: 19: Hoare triple {37926#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {37933#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:37:26,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {37933#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {37933#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:37:26,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {37933#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {37940#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:37:26,851 INFO L290 TraceCheckUtils]: 22: Hoare triple {37940#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {37940#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:37:26,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {37940#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {37947#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:26,851 INFO L290 TraceCheckUtils]: 24: Hoare triple {37947#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {37947#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:26,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {37947#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {37954#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:37:26,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {37954#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {37954#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:37:26,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {37954#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {37961#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:26,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {37961#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {37961#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:26,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {37961#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {37968#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:37:26,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {37968#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {37968#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:37:26,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {37968#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {37975#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:37:26,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {37975#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !(~i~0 < ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:26,855 INFO L290 TraceCheckUtils]: 33: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume !(~i~0 != ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:26,855 INFO L290 TraceCheckUtils]: 34: Hoare triple {37851#(<= |correct_version_#in~w| 22)} #res := ~is_divisible~0; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:26,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:26,856 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {37851#(<= |correct_version_#in~w| 22)} {37770#true} #87#return; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:26,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:26,857 INFO L272 TraceCheckUtils]: 38: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:26,857 INFO L290 TraceCheckUtils]: 39: Hoare triple {37770#true} ~w := #in~w;~is_divisible~1 := ~true~0; {38000#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,858 INFO L290 TraceCheckUtils]: 40: Hoare triple {38000#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {38004#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,858 INFO L290 TraceCheckUtils]: 41: Hoare triple {38004#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38004#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,858 INFO L290 TraceCheckUtils]: 42: Hoare triple {38004#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38011#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {38011#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38011#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,859 INFO L290 TraceCheckUtils]: 44: Hoare triple {38011#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38018#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:26,860 INFO L290 TraceCheckUtils]: 45: Hoare triple {38018#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {38018#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:26,860 INFO L290 TraceCheckUtils]: 46: Hoare triple {38018#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {38025#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,860 INFO L290 TraceCheckUtils]: 47: Hoare triple {38025#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38025#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,861 INFO L290 TraceCheckUtils]: 48: Hoare triple {38025#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38032#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,861 INFO L290 TraceCheckUtils]: 49: Hoare triple {38032#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38032#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {38032#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38039#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,862 INFO L290 TraceCheckUtils]: 51: Hoare triple {38039#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38039#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,862 INFO L290 TraceCheckUtils]: 52: Hoare triple {38039#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38046#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,863 INFO L290 TraceCheckUtils]: 53: Hoare triple {38046#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38046#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,863 INFO L290 TraceCheckUtils]: 54: Hoare triple {38046#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38053#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,864 INFO L290 TraceCheckUtils]: 55: Hoare triple {38053#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38053#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,864 INFO L290 TraceCheckUtils]: 56: Hoare triple {38053#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38060#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,864 INFO L290 TraceCheckUtils]: 57: Hoare triple {38060#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38060#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {38060#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38067#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,865 INFO L290 TraceCheckUtils]: 59: Hoare triple {38067#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38067#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {38067#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38074#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,866 INFO L290 TraceCheckUtils]: 61: Hoare triple {38074#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {38074#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,867 INFO L290 TraceCheckUtils]: 62: Hoare triple {38074#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38081#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:26,867 INFO L290 TraceCheckUtils]: 63: Hoare triple {38081#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,867 INFO L290 TraceCheckUtils]: 64: Hoare triple {37866#(<= 23 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,868 INFO L290 TraceCheckUtils]: 65: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume !(~i~1 < ~w); {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,868 INFO L290 TraceCheckUtils]: 66: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,868 INFO L290 TraceCheckUtils]: 67: Hoare triple {37866#(<= 23 |student_version_#in~w|)} #res := ~is_divisible~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,868 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:26,869 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {37866#(<= 23 |student_version_#in~w|)} {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} #89#return; {37771#false} is VALID [2022-04-08 10:37:26,869 INFO L290 TraceCheckUtils]: 70: Hoare triple {37771#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {37771#false} is VALID [2022-04-08 10:37:26,869 INFO L272 TraceCheckUtils]: 71: Hoare triple {37771#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {37771#false} is VALID [2022-04-08 10:37:26,870 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-08 10:37:26,870 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-08 10:37:26,870 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-08 10:37:26,870 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 121 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:26,870 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:31,734 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-08 10:37:31,734 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-08 10:37:31,734 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-08 10:37:31,734 INFO L272 TraceCheckUtils]: 71: Hoare triple {37771#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {37771#false} is VALID [2022-04-08 10:37:31,734 INFO L290 TraceCheckUtils]: 70: Hoare triple {37771#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {37771#false} is VALID [2022-04-08 10:37:31,735 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {37866#(<= 23 |student_version_#in~w|)} {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} #89#return; {37771#false} is VALID [2022-04-08 10:37:31,736 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,736 INFO L290 TraceCheckUtils]: 67: Hoare triple {37866#(<= 23 |student_version_#in~w|)} #res := ~is_divisible~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,747 INFO L290 TraceCheckUtils]: 65: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume !(~i~1 < ~w); {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,747 INFO L290 TraceCheckUtils]: 64: Hoare triple {37866#(<= 23 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,747 INFO L290 TraceCheckUtils]: 63: Hoare triple {38154#(or (not (< student_version_~i~1 student_version_~w)) (<= 23 |student_version_#in~w|))} assume !!(~i~1 < ~w); {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-08 10:37:31,748 INFO L290 TraceCheckUtils]: 62: Hoare triple {38158#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {38154#(or (not (< student_version_~i~1 student_version_~w)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,749 INFO L290 TraceCheckUtils]: 61: Hoare triple {38158#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {38158#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,749 INFO L290 TraceCheckUtils]: 60: Hoare triple {38165#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {38158#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,750 INFO L290 TraceCheckUtils]: 59: Hoare triple {38165#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {38165#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:37:31,750 INFO L290 TraceCheckUtils]: 58: Hoare triple {38172#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {38165#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:37:31,751 INFO L290 TraceCheckUtils]: 57: Hoare triple {38172#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {38172#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,751 INFO L290 TraceCheckUtils]: 56: Hoare triple {38179#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {38172#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,752 INFO L290 TraceCheckUtils]: 55: Hoare triple {38179#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {38179#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:31,752 INFO L290 TraceCheckUtils]: 54: Hoare triple {38186#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 23 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38179#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:31,753 INFO L290 TraceCheckUtils]: 53: Hoare triple {38186#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 23 |student_version_#in~w|))} assume !!(~i~1 < ~w); {38186#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,753 INFO L290 TraceCheckUtils]: 52: Hoare triple {38193#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 23 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38186#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {38193#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 23 |student_version_#in~w|))} assume !!(~i~1 < ~w); {38193#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,754 INFO L290 TraceCheckUtils]: 50: Hoare triple {38200#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {38193#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,755 INFO L290 TraceCheckUtils]: 49: Hoare triple {38200#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {38200#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {38207#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {38200#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {38207#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {38207#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,756 INFO L290 TraceCheckUtils]: 46: Hoare triple {38214#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 23 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {38207#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,757 INFO L290 TraceCheckUtils]: 45: Hoare triple {38214#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 23 |student_version_#in~w|))} assume !!(~i~1 < ~w); {38214#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {38221#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {38214#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,758 INFO L290 TraceCheckUtils]: 43: Hoare triple {38221#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {38221#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:31,758 INFO L290 TraceCheckUtils]: 42: Hoare triple {38228#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {38221#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:31,759 INFO L290 TraceCheckUtils]: 41: Hoare triple {38228#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {38228#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,759 INFO L290 TraceCheckUtils]: 40: Hoare triple {38235#(or (<= student_version_~w 22) (<= 23 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {38228#(or (<= 23 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:31,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {37770#true} ~w := #in~w;~is_divisible~1 := ~true~0; {38235#(or (<= student_version_~w 22) (<= 23 |student_version_#in~w|))} is VALID [2022-04-08 10:37:31,760 INFO L272 TraceCheckUtils]: 38: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:31,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:31,762 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {37851#(<= |correct_version_#in~w| 22)} {37770#true} #87#return; {37804#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 22)))} is VALID [2022-04-08 10:37:31,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:31,762 INFO L290 TraceCheckUtils]: 34: Hoare triple {37851#(<= |correct_version_#in~w| 22)} #res := ~is_divisible~0; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:31,763 INFO L290 TraceCheckUtils]: 33: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume !(~i~0 != ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:31,763 INFO L290 TraceCheckUtils]: 32: Hoare triple {38260#(or (<= |correct_version_#in~w| 22) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-08 10:37:31,764 INFO L290 TraceCheckUtils]: 31: Hoare triple {38264#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {38260#(or (<= |correct_version_#in~w| 22) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:37:31,764 INFO L290 TraceCheckUtils]: 30: Hoare triple {38264#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {38264#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:31,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {38271#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {38264#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:31,765 INFO L290 TraceCheckUtils]: 28: Hoare triple {38271#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {38271#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:37:31,766 INFO L290 TraceCheckUtils]: 27: Hoare triple {38278#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 22))} ~i~0 := 2 + ~i~0; {38271#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:37:31,766 INFO L290 TraceCheckUtils]: 26: Hoare triple {38278#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 22))} assume !!(~i~0 < ~w); {38278#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 22))} is VALID [2022-04-08 10:37:31,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {38285#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {38278#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 22))} is VALID [2022-04-08 10:37:31,767 INFO L290 TraceCheckUtils]: 24: Hoare triple {38285#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {38285#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:37:31,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {38292#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {38285#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:37:31,768 INFO L290 TraceCheckUtils]: 22: Hoare triple {38292#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {38292#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:31,769 INFO L290 TraceCheckUtils]: 21: Hoare triple {38299#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {38292#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:31,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {38299#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {38299#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:31,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {38306#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {38299#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:31,770 INFO L290 TraceCheckUtils]: 18: Hoare triple {38306#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {38306#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:37:31,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {38313#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {38306#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:37:31,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {38313#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {38313#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:37:31,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {38320#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {38313#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:37:31,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {38320#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {38320#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:37:31,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {38327#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {38320#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:37:31,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {38327#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {38327#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:37:31,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {38334#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {38327#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:37:31,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {38334#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {38334#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:31,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {38341#(or (<= |correct_version_#in~w| 22) (< 22 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {38334#(or (<= |correct_version_#in~w| 22) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:31,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {37770#true} ~w := #in~w;~is_divisible~0 := ~true~0; {38341#(or (<= |correct_version_#in~w| 22) (< 22 correct_version_~w))} is VALID [2022-04-08 10:37:31,775 INFO L272 TraceCheckUtils]: 7: Hoare triple {37770#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {37770#true} is VALID [2022-04-08 10:37:31,775 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-08 10:37:31,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {37770#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {37770#true} is VALID [2022-04-08 10:37:31,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-08 10:37:31,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-08 10:37:31,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-08 10:37:31,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {37770#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {37770#true} is VALID [2022-04-08 10:37:31,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {37770#true} call ULTIMATE.init(); {37770#true} is VALID [2022-04-08 10:37:31,776 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 144 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:31,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1391688073] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:31,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:31,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 31, 31] total 86 [2022-04-08 10:37:31,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:31,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [314748048] [2022-04-08 10:37:31,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [314748048] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:31,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:31,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 10:37:31,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1769745022] [2022-04-08 10:37:31,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:31,778 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 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 75 [2022-04-08 10:37:31,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:31,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:31,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:31,831 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 10:37:31,831 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:31,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 10:37:31,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1217, Invalid=6093, Unknown=0, NotChecked=0, Total=7310 [2022-04-08 10:37:31,832 INFO L87 Difference]: Start difference. First operand 88 states and 93 transitions. Second operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:34,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:34,128 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2022-04-08 10:37:34,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-08 10:37:34,129 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 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 75 [2022-04-08 10:37:34,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:34,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:34,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 100 transitions. [2022-04-08 10:37:34,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:34,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 100 transitions. [2022-04-08 10:37:34,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 100 transitions. [2022-04-08 10:37:34,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:34,216 INFO L225 Difference]: With dead ends: 103 [2022-04-08 10:37:34,216 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 10:37:34,217 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 97 SyntacticMatches, 5 SemanticMatches, 113 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5901 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=2082, Invalid=11028, Unknown=0, NotChecked=0, Total=13110 [2022-04-08 10:37:34,217 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 110 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 486 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 523 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 486 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:34,217 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [113 Valid, 57 Invalid, 523 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 486 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:37:34,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 10:37:34,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 87. [2022-04-08 10:37:34,961 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:34,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:34,962 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:34,962 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:34,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:34,963 INFO L93 Difference]: Finished difference Result 91 states and 95 transitions. [2022-04-08 10:37:34,963 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-08 10:37:34,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:34,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:34,963 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:37:34,963 INFO L87 Difference]: Start difference. First operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:37:34,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:34,964 INFO L93 Difference]: Finished difference Result 91 states and 95 transitions. [2022-04-08 10:37:34,964 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-08 10:37:34,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:34,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:34,964 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:34,964 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:34,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 75 states have (on average 1.0666666666666667) internal successors, (80), 77 states have internal predecessors, (80), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:34,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 91 transitions. [2022-04-08 10:37:34,965 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 91 transitions. Word has length 75 [2022-04-08 10:37:34,965 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:34,965 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 91 transitions. [2022-04-08 10:37:34,965 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:34,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 91 transitions. [2022-04-08 10:37:35,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:35,148 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-08 10:37:35,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 10:37:35,148 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:35,148 INFO L499 BasicCegarLoop]: trace histogram [12, 12, 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] [2022-04-08 10:37:35,165 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-08 10:37:35,348 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-08 10:37:35,349 INFO L403 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:35,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:35,349 INFO L85 PathProgramCache]: Analyzing trace with hash -224886411, now seen corresponding path program 41 times [2022-04-08 10:37:35,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:35,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [790891732] [2022-04-08 10:37:35,351 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:35,351 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:35,351 INFO L85 PathProgramCache]: Analyzing trace with hash -224886411, now seen corresponding path program 42 times [2022-04-08 10:37:35,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:35,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [573657528] [2022-04-08 10:37:35,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:35,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:35,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:35,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:35,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:35,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {39054#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {38988#true} is VALID [2022-04-08 10:37:35,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-08 10:37:35,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-08 10:37:35,408 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:35,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:35,649 INFO L290 TraceCheckUtils]: 0: Hoare triple {38988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {39055#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:35,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {39055#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,650 INFO L290 TraceCheckUtils]: 3: Hoare triple {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,651 INFO L290 TraceCheckUtils]: 4: Hoare triple {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,653 INFO L290 TraceCheckUtils]: 10: Hoare triple {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,657 INFO L290 TraceCheckUtils]: 21: Hoare triple {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,658 INFO L290 TraceCheckUtils]: 23: Hoare triple {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39067#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {39067#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,660 INFO L290 TraceCheckUtils]: 28: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} #res := ~is_divisible~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,661 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {39069#(<= 23 |correct_version_#in~w|)} {38988#true} #87#return; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:35,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-08 10:37:35,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:35,949 INFO L290 TraceCheckUtils]: 0: Hoare triple {38988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {39070#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:35,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {39070#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:35,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:35,951 INFO L290 TraceCheckUtils]: 3: Hoare triple {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,951 INFO L290 TraceCheckUtils]: 4: Hoare triple {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,952 INFO L290 TraceCheckUtils]: 6: Hoare triple {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:35,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:35,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,953 INFO L290 TraceCheckUtils]: 10: Hoare triple {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:35,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:35,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:35,956 INFO L290 TraceCheckUtils]: 16: Hoare triple {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:35,956 INFO L290 TraceCheckUtils]: 17: Hoare triple {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:35,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:35,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:35,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:35,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39082#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:37:35,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {39082#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !(~i~1 < ~w); {39083#(and (<= student_version_~w 22) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {39083#(and (<= student_version_~w 22) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {39084#(<= |student_version_#in~w| 22)} #res := ~is_divisible~1; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,960 INFO L290 TraceCheckUtils]: 27: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,961 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {39084#(<= |student_version_#in~w| 22)} {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} #89#return; {38989#false} is VALID [2022-04-08 10:37:35,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {38988#true} call ULTIMATE.init(); {39054#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:37:35,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {39054#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L290 TraceCheckUtils]: 5: Hoare triple {38988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L272 TraceCheckUtils]: 7: Hoare triple {38988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:35,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {38988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {39055#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:35,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {39055#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,963 INFO L290 TraceCheckUtils]: 10: Hoare triple {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {39056#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {39057#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,965 INFO L290 TraceCheckUtils]: 15: Hoare triple {39058#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {39059#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {39060#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {39061#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,968 INFO L290 TraceCheckUtils]: 22: Hoare triple {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {39062#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {39063#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:35,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {39064#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,970 INFO L290 TraceCheckUtils]: 28: Hoare triple {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {39065#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {39066#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39067#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,972 INFO L290 TraceCheckUtils]: 32: Hoare triple {39067#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,972 INFO L290 TraceCheckUtils]: 33: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,972 INFO L290 TraceCheckUtils]: 34: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:35,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {39068#(and (<= 23 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,973 INFO L290 TraceCheckUtils]: 36: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} #res := ~is_divisible~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,973 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:35,974 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {39069#(<= 23 |correct_version_#in~w|)} {38988#true} #87#return; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:35,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:35,975 INFO L272 TraceCheckUtils]: 40: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:35,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {38988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {39070#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:35,975 INFO L290 TraceCheckUtils]: 42: Hoare triple {39070#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:35,976 INFO L290 TraceCheckUtils]: 43: Hoare triple {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:35,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {39071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,976 INFO L290 TraceCheckUtils]: 45: Hoare triple {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,977 INFO L290 TraceCheckUtils]: 46: Hoare triple {39072#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,977 INFO L290 TraceCheckUtils]: 47: Hoare triple {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,978 INFO L290 TraceCheckUtils]: 48: Hoare triple {39073#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:35,978 INFO L290 TraceCheckUtils]: 49: Hoare triple {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:35,978 INFO L290 TraceCheckUtils]: 50: Hoare triple {39074#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,979 INFO L290 TraceCheckUtils]: 51: Hoare triple {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {39075#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:35,980 INFO L290 TraceCheckUtils]: 53: Hoare triple {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:35,980 INFO L290 TraceCheckUtils]: 54: Hoare triple {39076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,980 INFO L290 TraceCheckUtils]: 55: Hoare triple {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,981 INFO L290 TraceCheckUtils]: 56: Hoare triple {39077#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:35,981 INFO L290 TraceCheckUtils]: 57: Hoare triple {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:35,982 INFO L290 TraceCheckUtils]: 58: Hoare triple {39078#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:35,982 INFO L290 TraceCheckUtils]: 59: Hoare triple {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:35,982 INFO L290 TraceCheckUtils]: 60: Hoare triple {39079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:35,983 INFO L290 TraceCheckUtils]: 61: Hoare triple {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:35,983 INFO L290 TraceCheckUtils]: 62: Hoare triple {39080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,983 INFO L290 TraceCheckUtils]: 63: Hoare triple {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,984 INFO L290 TraceCheckUtils]: 64: Hoare triple {39081#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {39082#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:37:35,984 INFO L290 TraceCheckUtils]: 65: Hoare triple {39082#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !(~i~1 < ~w); {39083#(and (<= student_version_~w 22) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:35,985 INFO L290 TraceCheckUtils]: 66: Hoare triple {39083#(and (<= student_version_~w 22) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,985 INFO L290 TraceCheckUtils]: 67: Hoare triple {39084#(<= |student_version_#in~w| 22)} #res := ~is_divisible~1; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,985 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:35,986 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {39084#(<= |student_version_#in~w| 22)} {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} #89#return; {38989#false} is VALID [2022-04-08 10:37:35,986 INFO L290 TraceCheckUtils]: 70: Hoare triple {38989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {38989#false} is VALID [2022-04-08 10:37:35,986 INFO L272 TraceCheckUtils]: 71: Hoare triple {38989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {38989#false} is VALID [2022-04-08 10:37:35,986 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-08 10:37:35,986 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-08 10:37:35,986 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-08 10:37:35,987 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 121 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:35,987 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:35,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [573657528] [2022-04-08 10:37:35,987 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [573657528] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:35,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [518528288] [2022-04-08 10:37:35,987 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:37:35,987 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:35,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:35,988 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:37:35,989 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-04-08 10:37:36,102 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-08 10:37:36,102 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:36,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 10:37:36,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:36,121 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:37,528 INFO L272 TraceCheckUtils]: 0: Hoare triple {38988#true} call ULTIMATE.init(); {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {38988#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {38988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L272 TraceCheckUtils]: 7: Hoare triple {38988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:37,529 INFO L290 TraceCheckUtils]: 8: Hoare triple {38988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {39112#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,530 INFO L290 TraceCheckUtils]: 9: Hoare triple {39112#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {39116#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,530 INFO L290 TraceCheckUtils]: 10: Hoare triple {39116#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {39116#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,531 INFO L290 TraceCheckUtils]: 11: Hoare triple {39116#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39123#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,531 INFO L290 TraceCheckUtils]: 12: Hoare triple {39123#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {39123#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {39123#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39130#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,532 INFO L290 TraceCheckUtils]: 14: Hoare triple {39130#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {39130#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,532 INFO L290 TraceCheckUtils]: 15: Hoare triple {39130#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39137#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:37,533 INFO L290 TraceCheckUtils]: 16: Hoare triple {39137#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {39137#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:37,533 INFO L290 TraceCheckUtils]: 17: Hoare triple {39137#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {39144#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,533 INFO L290 TraceCheckUtils]: 18: Hoare triple {39144#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {39144#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {39144#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39151#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:37,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {39151#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {39151#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:37:37,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {39151#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {39158#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {39158#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {39158#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {39158#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39165#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {39165#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {39165#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {39165#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39172#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {39172#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {39172#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {39172#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39179#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,537 INFO L290 TraceCheckUtils]: 28: Hoare triple {39179#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {39179#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,538 INFO L290 TraceCheckUtils]: 29: Hoare triple {39179#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39186#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {39186#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {39186#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {39186#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {39193#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:37:37,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {39193#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,539 INFO L290 TraceCheckUtils]: 33: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume !(~i~0 < ~w); {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,540 INFO L290 TraceCheckUtils]: 36: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} #res := ~is_divisible~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:37,541 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {39069#(<= 23 |correct_version_#in~w|)} {38988#true} #87#return; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:37,542 INFO L290 TraceCheckUtils]: 39: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:37,542 INFO L272 TraceCheckUtils]: 40: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:37,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {38988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {39224#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:37,543 INFO L290 TraceCheckUtils]: 42: Hoare triple {39224#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {39228#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:37,543 INFO L290 TraceCheckUtils]: 43: Hoare triple {39228#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {39228#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:37:37,543 INFO L290 TraceCheckUtils]: 44: Hoare triple {39228#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {39235#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:37:37,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {39235#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {39235#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:37:37,544 INFO L290 TraceCheckUtils]: 46: Hoare triple {39235#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {39242#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:37:37,545 INFO L290 TraceCheckUtils]: 47: Hoare triple {39242#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {39242#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:37:37,545 INFO L290 TraceCheckUtils]: 48: Hoare triple {39242#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {39249#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:37,545 INFO L290 TraceCheckUtils]: 49: Hoare triple {39249#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {39249#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:37:37,546 INFO L290 TraceCheckUtils]: 50: Hoare triple {39249#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {39256#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:37:37,546 INFO L290 TraceCheckUtils]: 51: Hoare triple {39256#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {39256#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:37:37,547 INFO L290 TraceCheckUtils]: 52: Hoare triple {39256#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {39263#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:37,547 INFO L290 TraceCheckUtils]: 53: Hoare triple {39263#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {39263#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:37:37,547 INFO L290 TraceCheckUtils]: 54: Hoare triple {39263#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {39270#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:37:37,548 INFO L290 TraceCheckUtils]: 55: Hoare triple {39270#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {39270#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:37:37,548 INFO L290 TraceCheckUtils]: 56: Hoare triple {39270#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {39277#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:37,549 INFO L290 TraceCheckUtils]: 57: Hoare triple {39277#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {39277#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:37:37,549 INFO L290 TraceCheckUtils]: 58: Hoare triple {39277#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {39284#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:37,549 INFO L290 TraceCheckUtils]: 59: Hoare triple {39284#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {39284#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:37:37,550 INFO L290 TraceCheckUtils]: 60: Hoare triple {39284#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {39291#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:37,550 INFO L290 TraceCheckUtils]: 61: Hoare triple {39291#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {39291#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:37:37,551 INFO L290 TraceCheckUtils]: 62: Hoare triple {39291#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {39298#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:37:37,551 INFO L290 TraceCheckUtils]: 63: Hoare triple {39298#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {39298#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:37:37,551 INFO L290 TraceCheckUtils]: 64: Hoare triple {39298#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {39305#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:37:37,552 INFO L290 TraceCheckUtils]: 65: Hoare triple {39305#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !(~i~1 < ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:37,552 INFO L290 TraceCheckUtils]: 66: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume !(~i~1 != ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:37,552 INFO L290 TraceCheckUtils]: 67: Hoare triple {39084#(<= |student_version_#in~w| 22)} #res := ~is_divisible~1; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:37,553 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:37,553 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {39084#(<= |student_version_#in~w| 22)} {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} #89#return; {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L290 TraceCheckUtils]: 70: Hoare triple {38989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L272 TraceCheckUtils]: 71: Hoare triple {38989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-08 10:37:37,554 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 121 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:37,554 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:42,252 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-08 10:37:42,252 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-08 10:37:42,252 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-08 10:37:42,252 INFO L272 TraceCheckUtils]: 71: Hoare triple {38989#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {38989#false} is VALID [2022-04-08 10:37:42,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {38989#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {38989#false} is VALID [2022-04-08 10:37:42,253 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {39084#(<= |student_version_#in~w| 22)} {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} #89#return; {38989#false} is VALID [2022-04-08 10:37:42,253 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:42,253 INFO L290 TraceCheckUtils]: 67: Hoare triple {39084#(<= |student_version_#in~w| 22)} #res := ~is_divisible~1; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:42,254 INFO L290 TraceCheckUtils]: 66: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume !(~i~1 != ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:42,254 INFO L290 TraceCheckUtils]: 65: Hoare triple {39366#(or (<= |student_version_#in~w| 22) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-08 10:37:42,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {39370#(or (<= |student_version_#in~w| 22) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {39366#(or (<= |student_version_#in~w| 22) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:37:42,255 INFO L290 TraceCheckUtils]: 63: Hoare triple {39370#(or (<= |student_version_#in~w| 22) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {39370#(or (<= |student_version_#in~w| 22) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,255 INFO L290 TraceCheckUtils]: 62: Hoare triple {39377#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {39370#(or (<= |student_version_#in~w| 22) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,256 INFO L290 TraceCheckUtils]: 61: Hoare triple {39377#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {39377#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:37:42,256 INFO L290 TraceCheckUtils]: 60: Hoare triple {39384#(or (<= |student_version_#in~w| 22) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {39377#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:37:42,256 INFO L290 TraceCheckUtils]: 59: Hoare triple {39384#(or (<= |student_version_#in~w| 22) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {39384#(or (<= |student_version_#in~w| 22) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,257 INFO L290 TraceCheckUtils]: 58: Hoare triple {39391#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {39384#(or (<= |student_version_#in~w| 22) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {39391#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {39391#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:37:42,258 INFO L290 TraceCheckUtils]: 56: Hoare triple {39398#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {39391#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:37:42,258 INFO L290 TraceCheckUtils]: 55: Hoare triple {39398#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {39398#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:37:42,258 INFO L290 TraceCheckUtils]: 54: Hoare triple {39405#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {39398#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:37:42,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {39405#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {39405#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:37:42,259 INFO L290 TraceCheckUtils]: 52: Hoare triple {39412#(or (<= |student_version_#in~w| 22) (< (+ 14 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {39405#(or (<= |student_version_#in~w| 22) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:37:42,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {39412#(or (<= |student_version_#in~w| 22) (< (+ 14 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {39412#(or (<= |student_version_#in~w| 22) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,260 INFO L290 TraceCheckUtils]: 50: Hoare triple {39419#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 22))} ~i~1 := 2 + ~i~1; {39412#(or (<= |student_version_#in~w| 22) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,260 INFO L290 TraceCheckUtils]: 49: Hoare triple {39419#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 22))} assume !!(~i~1 < ~w); {39419#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,261 INFO L290 TraceCheckUtils]: 48: Hoare triple {39426#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 22))} ~i~1 := 2 + ~i~1; {39419#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,261 INFO L290 TraceCheckUtils]: 47: Hoare triple {39426#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 22))} assume !!(~i~1 < ~w); {39426#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,262 INFO L290 TraceCheckUtils]: 46: Hoare triple {39433#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 22))} ~i~1 := 2 + ~i~1; {39426#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {39433#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 22))} assume !!(~i~1 < ~w); {39433#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {39440#(or (<= |student_version_#in~w| 22) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {39433#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 22))} is VALID [2022-04-08 10:37:42,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {39440#(or (<= |student_version_#in~w| 22) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {39440#(or (<= |student_version_#in~w| 22) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,263 INFO L290 TraceCheckUtils]: 42: Hoare triple {39447#(or (<= |student_version_#in~w| 22) (< 22 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {39440#(or (<= |student_version_#in~w| 22) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:37:42,263 INFO L290 TraceCheckUtils]: 41: Hoare triple {38988#true} ~w := #in~w;~is_divisible~1 := ~true~0; {39447#(or (<= |student_version_#in~w| 22) (< 22 student_version_~w))} is VALID [2022-04-08 10:37:42,263 INFO L272 TraceCheckUtils]: 40: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:42,264 INFO L290 TraceCheckUtils]: 39: Hoare triple {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:42,265 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {39069#(<= 23 |correct_version_#in~w|)} {38988#true} #87#return; {39024#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 23) main_~w~0))} is VALID [2022-04-08 10:37:42,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,265 INFO L290 TraceCheckUtils]: 36: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} #res := ~is_divisible~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,266 INFO L290 TraceCheckUtils]: 35: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,266 INFO L290 TraceCheckUtils]: 34: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume !(~i~0 < ~w); {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {39478#(or (<= 23 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} assume !!(~i~0 < ~w); {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-08 10:37:42,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {39482#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} ~i~0 := 2 + ~i~0; {39478#(or (<= 23 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:37:42,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {39482#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} assume !!(~i~0 < ~w); {39482#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:37:42,268 INFO L290 TraceCheckUtils]: 29: Hoare triple {39489#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 23 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {39482#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:37:42,268 INFO L290 TraceCheckUtils]: 28: Hoare triple {39489#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 23 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {39489#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 23 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:42,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {39496#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {39489#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 23 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:42,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {39496#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {39496#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:37:42,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {39503#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} ~i~0 := 2 + ~i~0; {39496#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:37:42,270 INFO L290 TraceCheckUtils]: 24: Hoare triple {39503#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} assume !!(~i~0 < ~w); {39503#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:37:42,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {39510#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {39503#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:37:42,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {39510#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {39510#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:37:42,271 INFO L290 TraceCheckUtils]: 21: Hoare triple {39517#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {39510#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:37:42,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {39517#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {39517#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:37:42,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {39524#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {39517#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:37:42,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {39524#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {39524#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:37:42,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {39531#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {39524#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:37:42,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {39531#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {39531#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:37:42,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {39538#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {39531#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:37:42,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {39538#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {39538#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:37:42,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {39545#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} ~i~0 := 2 + ~i~0; {39538#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:37:42,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {39545#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} assume !!(~i~0 < ~w); {39545#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} is VALID [2022-04-08 10:37:42,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {39552#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {39545#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} is VALID [2022-04-08 10:37:42,275 INFO L290 TraceCheckUtils]: 10: Hoare triple {39552#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {39552#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:37:42,275 INFO L290 TraceCheckUtils]: 9: Hoare triple {39559#(or (<= correct_version_~w 22) (<= 23 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {39552#(or (<= 23 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:37:42,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {38988#true} ~w := #in~w;~is_divisible~0 := ~true~0; {39559#(or (<= correct_version_~w 22) (<= 23 |correct_version_#in~w|))} is VALID [2022-04-08 10:37:42,276 INFO L272 TraceCheckUtils]: 7: Hoare triple {38988#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {38988#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {38988#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {38988#true} is VALID [2022-04-08 10:37:42,276 INFO L272 TraceCheckUtils]: 0: Hoare triple {38988#true} call ULTIMATE.init(); {38988#true} is VALID [2022-04-08 10:37:42,277 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 144 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:42,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [518528288] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:42,277 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:42,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 31, 31] total 86 [2022-04-08 10:37:42,277 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:42,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [790891732] [2022-04-08 10:37:42,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [790891732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:42,277 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:42,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-08 10:37:42,277 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [138800413] [2022-04-08 10:37:42,277 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:42,278 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 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 75 [2022-04-08 10:37:42,278 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:42,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:42,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:42,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-08 10:37:42,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:42,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-08 10:37:42,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1217, Invalid=6093, Unknown=0, NotChecked=0, Total=7310 [2022-04-08 10:37:42,329 INFO L87 Difference]: Start difference. First operand 87 states and 91 transitions. Second operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:44,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:44,729 INFO L93 Difference]: Finished difference Result 97 states and 100 transitions. [2022-04-08 10:37:44,729 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-08 10:37:44,729 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 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 75 [2022-04-08 10:37:44,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:37:44,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:44,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2022-04-08 10:37:44,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:44,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2022-04-08 10:37:44,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 92 transitions. [2022-04-08 10:37:44,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:44,806 INFO L225 Difference]: With dead ends: 97 [2022-04-08 10:37:44,806 INFO L226 Difference]: Without dead ends: 87 [2022-04-08 10:37:44,807 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 97 SyntacticMatches, 5 SemanticMatches, 113 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5830 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=2082, Invalid=11028, Unknown=0, NotChecked=0, Total=13110 [2022-04-08 10:37:44,807 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 91 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 605 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 642 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 605 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:37:44,808 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [92 Valid, 75 Invalid, 642 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 605 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:37:44,808 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-08 10:37:45,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 86. [2022-04-08 10:37:45,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:37:45,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:45,603 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:45,603 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:45,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:45,604 INFO L93 Difference]: Finished difference Result 87 states and 90 transitions. [2022-04-08 10:37:45,604 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 90 transitions. [2022-04-08 10:37:45,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:45,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:45,604 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:37:45,604 INFO L87 Difference]: Start difference. First operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 87 states. [2022-04-08 10:37:45,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:37:45,605 INFO L93 Difference]: Finished difference Result 87 states and 90 transitions. [2022-04-08 10:37:45,605 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 90 transitions. [2022-04-08 10:37:45,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:37:45,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:37:45,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:37:45,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:37:45,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 74 states have (on average 1.054054054054054) internal successors, (78), 76 states have internal predecessors, (78), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:37:45,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 89 transitions. [2022-04-08 10:37:45,607 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 89 transitions. Word has length 75 [2022-04-08 10:37:45,607 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:37:45,607 INFO L478 AbstractCegarLoop]: Abstraction has 86 states and 89 transitions. [2022-04-08 10:37:45,607 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.9705882352941178) internal successors, (67), 33 states have internal predecessors, (67), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:45,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 89 transitions. [2022-04-08 10:37:45,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:45,788 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 89 transitions. [2022-04-08 10:37:45,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-08 10:37:45,789 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:37:45,789 INFO L499 BasicCegarLoop]: trace histogram [12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:37:45,805 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Forceful destruction successful, exit code 0 [2022-04-08 10:37:45,989 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 45 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable47 [2022-04-08 10:37:45,989 INFO L403 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:37:45,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:37:45,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1179263863, now seen corresponding path program 43 times [2022-04-08 10:37:45,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:45,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [472572713] [2022-04-08 10:37:45,992 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:37:45,992 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:37:45,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1179263863, now seen corresponding path program 44 times [2022-04-08 10:37:45,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:37:45,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [992389199] [2022-04-08 10:37:45,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:37:45,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:37:46,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:46,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:37:46,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:46,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {40252#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {40184#true} is VALID [2022-04-08 10:37:46,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-08 10:37:46,042 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-08 10:37:46,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:37:46,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:46,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {40184#true} ~w := #in~w;~is_divisible~0 := ~true~0; {40253#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:46,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {40253#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,329 INFO L290 TraceCheckUtils]: 3: Hoare triple {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,329 INFO L290 TraceCheckUtils]: 4: Hoare triple {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:46,332 INFO L290 TraceCheckUtils]: 10: Hoare triple {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:46,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,335 INFO L290 TraceCheckUtils]: 15: Hoare triple {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:46,335 INFO L290 TraceCheckUtils]: 16: Hoare triple {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:46,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,336 INFO L290 TraceCheckUtils]: 18: Hoare triple {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:46,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:46,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40266#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {40266#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {40267#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,341 INFO L290 TraceCheckUtils]: 27: Hoare triple {40267#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,341 INFO L290 TraceCheckUtils]: 28: Hoare triple {40268#(<= |correct_version_#in~w| 23)} #res := ~is_divisible~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,343 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {40268#(<= |correct_version_#in~w| 23)} {40184#true} #87#return; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:46,343 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-08 10:37:46,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:46,653 INFO L290 TraceCheckUtils]: 0: Hoare triple {40184#true} ~w := #in~w;~is_divisible~1 := ~true~0; {40269#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:46,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {40269#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,655 INFO L290 TraceCheckUtils]: 3: Hoare triple {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,655 INFO L290 TraceCheckUtils]: 4: Hoare triple {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:46,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:46,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:46,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:46,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:46,657 INFO L290 TraceCheckUtils]: 10: Hoare triple {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:46,658 INFO L290 TraceCheckUtils]: 11: Hoare triple {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:46,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:46,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,660 INFO L290 TraceCheckUtils]: 16: Hoare triple {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,660 INFO L290 TraceCheckUtils]: 17: Hoare triple {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:46,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:46,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,664 INFO L290 TraceCheckUtils]: 28: Hoare triple {40283#(<= 24 |student_version_#in~w|)} #res := ~is_divisible~1; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,665 INFO L290 TraceCheckUtils]: 29: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,666 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {40283#(<= 24 |student_version_#in~w|)} {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} #89#return; {40185#false} is VALID [2022-04-08 10:37:46,666 INFO L272 TraceCheckUtils]: 0: Hoare triple {40184#true} call ULTIMATE.init(); {40252#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:37:46,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {40252#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {40184#true} is VALID [2022-04-08 10:37:46,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-08 10:37:46,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-08 10:37:46,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-08 10:37:46,666 INFO L290 TraceCheckUtils]: 5: Hoare triple {40184#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {40184#true} is VALID [2022-04-08 10:37:46,667 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-08 10:37:46,667 INFO L272 TraceCheckUtils]: 7: Hoare triple {40184#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:46,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {40184#true} ~w := #in~w;~is_divisible~0 := ~true~0; {40253#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:46,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {40253#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,668 INFO L290 TraceCheckUtils]: 10: Hoare triple {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {40254#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {40255#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {40256#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {40257#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:46,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:46,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {40258#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,672 INFO L290 TraceCheckUtils]: 21: Hoare triple {40259#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,672 INFO L290 TraceCheckUtils]: 22: Hoare triple {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,673 INFO L290 TraceCheckUtils]: 23: Hoare triple {40260#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:46,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:46,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {40261#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,674 INFO L290 TraceCheckUtils]: 26: Hoare triple {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,674 INFO L290 TraceCheckUtils]: 27: Hoare triple {40262#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:46,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:46,675 INFO L290 TraceCheckUtils]: 29: Hoare triple {40263#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,676 INFO L290 TraceCheckUtils]: 31: Hoare triple {40264#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,676 INFO L290 TraceCheckUtils]: 32: Hoare triple {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,677 INFO L290 TraceCheckUtils]: 33: Hoare triple {40265#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {40266#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {40266#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {40267#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:37:46,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {40267#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 24)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {40268#(<= |correct_version_#in~w| 23)} #res := ~is_divisible~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:46,679 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {40268#(<= |correct_version_#in~w| 23)} {40184#true} #87#return; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:46,679 INFO L290 TraceCheckUtils]: 39: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:46,679 INFO L272 TraceCheckUtils]: 40: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:46,680 INFO L290 TraceCheckUtils]: 41: Hoare triple {40184#true} ~w := #in~w;~is_divisible~1 := ~true~0; {40269#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:37:46,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {40269#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,680 INFO L290 TraceCheckUtils]: 43: Hoare triple {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {40270#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,681 INFO L290 TraceCheckUtils]: 45: Hoare triple {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,682 INFO L290 TraceCheckUtils]: 46: Hoare triple {40271#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:46,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:46,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {40272#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:46,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:37:46,683 INFO L290 TraceCheckUtils]: 50: Hoare triple {40273#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:46,683 INFO L290 TraceCheckUtils]: 51: Hoare triple {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:37:46,684 INFO L290 TraceCheckUtils]: 52: Hoare triple {40274#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {40275#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:46,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:37:46,685 INFO L290 TraceCheckUtils]: 56: Hoare triple {40276#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,686 INFO L290 TraceCheckUtils]: 58: Hoare triple {40277#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,687 INFO L290 TraceCheckUtils]: 60: Hoare triple {40278#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,687 INFO L290 TraceCheckUtils]: 61: Hoare triple {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {40279#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:46,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:37:46,689 INFO L290 TraceCheckUtils]: 64: Hoare triple {40280#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,689 INFO L290 TraceCheckUtils]: 65: Hoare triple {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,689 INFO L290 TraceCheckUtils]: 66: Hoare triple {40281#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,690 INFO L290 TraceCheckUtils]: 67: Hoare triple {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:37:46,690 INFO L290 TraceCheckUtils]: 68: Hoare triple {40282#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,690 INFO L290 TraceCheckUtils]: 69: Hoare triple {40283#(<= 24 |student_version_#in~w|)} #res := ~is_divisible~1; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,691 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:46,691 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40283#(<= 24 |student_version_#in~w|)} {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} #89#return; {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L290 TraceCheckUtils]: 72: Hoare triple {40185#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L272 TraceCheckUtils]: 73: Hoare triple {40185#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-08 10:37:46,692 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:46,692 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:37:46,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [992389199] [2022-04-08 10:37:46,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [992389199] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:37:46,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [684883448] [2022-04-08 10:37:46,692 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:37:46,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:37:46,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:37:46,694 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:37:46,696 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-04-08 10:37:46,810 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:37:46,811 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:37:46,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 10:37:46,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:37:46,834 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:37:48,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {40184#true} call ULTIMATE.init(); {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {40184#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L290 TraceCheckUtils]: 5: Hoare triple {40184#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-08 10:37:48,190 INFO L272 TraceCheckUtils]: 7: Hoare triple {40184#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:48,191 INFO L290 TraceCheckUtils]: 8: Hoare triple {40184#true} ~w := #in~w;~is_divisible~0 := ~true~0; {40311#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:37:48,191 INFO L290 TraceCheckUtils]: 9: Hoare triple {40311#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {40315#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:37:48,191 INFO L290 TraceCheckUtils]: 10: Hoare triple {40315#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {40315#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:37:48,192 INFO L290 TraceCheckUtils]: 11: Hoare triple {40315#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {40322#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:37:48,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {40322#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {40322#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:37:48,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {40322#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {40329#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:37:48,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {40329#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {40329#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:37:48,193 INFO L290 TraceCheckUtils]: 15: Hoare triple {40329#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {40336#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:37:48,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {40336#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {40336#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:37:48,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {40336#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {40343#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:48,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {40343#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {40343#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:37:48,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {40343#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {40350#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:37:48,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {40350#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {40350#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:37:48,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {40350#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {40357#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:37:48,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {40357#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {40357#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:37:48,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {40357#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {40364#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:48,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {40364#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {40364#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:37:48,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {40364#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {40371#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:37:48,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {40371#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {40371#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:37:48,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {40371#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {40378#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:48,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {40378#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {40378#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:37:48,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {40378#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {40385#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:37:48,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {40385#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {40385#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:37:48,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {40385#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {40392#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:37:48,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {40392#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {40392#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:37:48,201 INFO L290 TraceCheckUtils]: 33: Hoare triple {40392#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {40399#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:37:48,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {40399#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !(~i~0 < ~w); {40403#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:37:48,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {40403#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 24))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:48,202 INFO L290 TraceCheckUtils]: 36: Hoare triple {40268#(<= |correct_version_#in~w| 23)} #res := ~is_divisible~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:48,202 INFO L290 TraceCheckUtils]: 37: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:48,203 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {40268#(<= |correct_version_#in~w| 23)} {40184#true} #87#return; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:48,203 INFO L290 TraceCheckUtils]: 39: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:48,204 INFO L272 TraceCheckUtils]: 40: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:48,204 INFO L290 TraceCheckUtils]: 41: Hoare triple {40184#true} ~w := #in~w;~is_divisible~1 := ~true~0; {40425#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:37:48,204 INFO L290 TraceCheckUtils]: 42: Hoare triple {40425#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {40429#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {40429#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40429#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,205 INFO L290 TraceCheckUtils]: 44: Hoare triple {40429#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40436#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,205 INFO L290 TraceCheckUtils]: 45: Hoare triple {40436#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40436#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,206 INFO L290 TraceCheckUtils]: 46: Hoare triple {40436#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40443#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:48,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {40443#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {40443#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:37:48,207 INFO L290 TraceCheckUtils]: 48: Hoare triple {40443#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {40450#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,207 INFO L290 TraceCheckUtils]: 49: Hoare triple {40450#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40450#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,207 INFO L290 TraceCheckUtils]: 50: Hoare triple {40450#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40457#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,208 INFO L290 TraceCheckUtils]: 51: Hoare triple {40457#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40457#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,208 INFO L290 TraceCheckUtils]: 52: Hoare triple {40457#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40464#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,209 INFO L290 TraceCheckUtils]: 53: Hoare triple {40464#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40464#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,209 INFO L290 TraceCheckUtils]: 54: Hoare triple {40464#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40471#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,209 INFO L290 TraceCheckUtils]: 55: Hoare triple {40471#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40471#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,210 INFO L290 TraceCheckUtils]: 56: Hoare triple {40471#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40478#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,210 INFO L290 TraceCheckUtils]: 57: Hoare triple {40478#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40478#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,211 INFO L290 TraceCheckUtils]: 58: Hoare triple {40478#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40485#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,211 INFO L290 TraceCheckUtils]: 59: Hoare triple {40485#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40485#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,211 INFO L290 TraceCheckUtils]: 60: Hoare triple {40485#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40492#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,212 INFO L290 TraceCheckUtils]: 61: Hoare triple {40492#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40492#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,212 INFO L290 TraceCheckUtils]: 62: Hoare triple {40492#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40499#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,213 INFO L290 TraceCheckUtils]: 63: Hoare triple {40499#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40499#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,213 INFO L290 TraceCheckUtils]: 64: Hoare triple {40499#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40506#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,213 INFO L290 TraceCheckUtils]: 65: Hoare triple {40506#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {40506#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,214 INFO L290 TraceCheckUtils]: 66: Hoare triple {40506#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40513#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,214 INFO L290 TraceCheckUtils]: 67: Hoare triple {40513#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {40513#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:37:48,215 INFO L290 TraceCheckUtils]: 68: Hoare triple {40513#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:48,215 INFO L290 TraceCheckUtils]: 69: Hoare triple {40283#(<= 24 |student_version_#in~w|)} #res := ~is_divisible~1; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:48,215 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:48,216 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40283#(<= 24 |student_version_#in~w|)} {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} #89#return; {40185#false} is VALID [2022-04-08 10:37:48,216 INFO L290 TraceCheckUtils]: 72: Hoare triple {40185#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {40185#false} is VALID [2022-04-08 10:37:48,216 INFO L272 TraceCheckUtils]: 73: Hoare triple {40185#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {40185#false} is VALID [2022-04-08 10:37:48,216 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-08 10:37:48,216 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-08 10:37:48,216 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-08 10:37:48,217 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:48,217 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:37:58,405 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-08 10:37:58,406 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-08 10:37:58,406 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-08 10:37:58,406 INFO L272 TraceCheckUtils]: 73: Hoare triple {40185#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {40185#false} is VALID [2022-04-08 10:37:58,406 INFO L290 TraceCheckUtils]: 72: Hoare triple {40185#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {40185#false} is VALID [2022-04-08 10:37:58,407 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40283#(<= 24 |student_version_#in~w|)} {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} #89#return; {40185#false} is VALID [2022-04-08 10:37:58,408 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:58,408 INFO L290 TraceCheckUtils]: 69: Hoare triple {40283#(<= 24 |student_version_#in~w|)} #res := ~is_divisible~1; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:58,409 INFO L290 TraceCheckUtils]: 68: Hoare triple {40571#(or (<= 24 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-08 10:37:58,409 INFO L290 TraceCheckUtils]: 67: Hoare triple {40571#(or (<= 24 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {40571#(or (<= 24 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:37:58,410 INFO L290 TraceCheckUtils]: 66: Hoare triple {40578#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {40571#(or (<= 24 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:37:58,410 INFO L290 TraceCheckUtils]: 65: Hoare triple {40578#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {40578#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,411 INFO L290 TraceCheckUtils]: 64: Hoare triple {40585#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 24 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40578#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,411 INFO L290 TraceCheckUtils]: 63: Hoare triple {40585#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 24 |student_version_#in~w|))} assume !!(~i~1 < ~w); {40585#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,412 INFO L290 TraceCheckUtils]: 62: Hoare triple {40592#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 24 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40585#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,412 INFO L290 TraceCheckUtils]: 61: Hoare triple {40592#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 24 |student_version_#in~w|))} assume !!(~i~1 < ~w); {40592#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,413 INFO L290 TraceCheckUtils]: 60: Hoare triple {40599#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {40592#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,413 INFO L290 TraceCheckUtils]: 59: Hoare triple {40599#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {40599#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:58,414 INFO L290 TraceCheckUtils]: 58: Hoare triple {40606#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 24 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40599#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:37:58,414 INFO L290 TraceCheckUtils]: 57: Hoare triple {40606#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 24 |student_version_#in~w|))} assume !!(~i~1 < ~w); {40606#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,415 INFO L290 TraceCheckUtils]: 56: Hoare triple {40613#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {40606#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,416 INFO L290 TraceCheckUtils]: 55: Hoare triple {40613#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {40613#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:37:58,416 INFO L290 TraceCheckUtils]: 54: Hoare triple {40620#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 24 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {40613#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:37:58,417 INFO L290 TraceCheckUtils]: 53: Hoare triple {40620#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 24 |student_version_#in~w|))} assume !!(~i~1 < ~w); {40620#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,417 INFO L290 TraceCheckUtils]: 52: Hoare triple {40627#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {40620#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 24 |student_version_#in~w|))} is VALID [2022-04-08 10:37:58,418 INFO L290 TraceCheckUtils]: 51: Hoare triple {40627#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {40627#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,418 INFO L290 TraceCheckUtils]: 50: Hoare triple {40634#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {40627#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {40634#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {40634#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:37:58,420 INFO L290 TraceCheckUtils]: 48: Hoare triple {40641#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {40634#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:37:58,420 INFO L290 TraceCheckUtils]: 47: Hoare triple {40641#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {40641#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:58,421 INFO L290 TraceCheckUtils]: 46: Hoare triple {40648#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {40641#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:37:58,421 INFO L290 TraceCheckUtils]: 45: Hoare triple {40648#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {40648#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,422 INFO L290 TraceCheckUtils]: 44: Hoare triple {40655#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} ~i~1 := 2 + ~i~1; {40648#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:37:58,422 INFO L290 TraceCheckUtils]: 43: Hoare triple {40655#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} assume !!(~i~1 < ~w); {40655#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:37:58,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {40662#(or (<= 24 |student_version_#in~w|) (< student_version_~w 24))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {40655#(or (<= 24 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:37:58,423 INFO L290 TraceCheckUtils]: 41: Hoare triple {40184#true} ~w := #in~w;~is_divisible~1 := ~true~0; {40662#(or (<= 24 |student_version_#in~w|) (< student_version_~w 24))} is VALID [2022-04-08 10:37:58,423 INFO L272 TraceCheckUtils]: 40: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:58,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:58,425 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {40268#(<= |correct_version_#in~w| 23)} {40184#true} #87#return; {40220#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 23)))} is VALID [2022-04-08 10:37:58,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:58,426 INFO L290 TraceCheckUtils]: 36: Hoare triple {40268#(<= |correct_version_#in~w| 23)} #res := ~is_divisible~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:58,426 INFO L290 TraceCheckUtils]: 35: Hoare triple {40684#(or (<= |correct_version_#in~w| 23) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-08 10:37:58,427 INFO L290 TraceCheckUtils]: 34: Hoare triple {40688#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 23) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {40684#(or (<= |correct_version_#in~w| 23) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:37:58,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {40692#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {40688#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 23) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:37:58,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {40692#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {40692#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:58,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {40699#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40692#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:37:58,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {40699#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40699#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,430 INFO L290 TraceCheckUtils]: 29: Hoare triple {40706#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {40699#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {40706#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {40706#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:37:58,431 INFO L290 TraceCheckUtils]: 27: Hoare triple {40713#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40706#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:37:58,431 INFO L290 TraceCheckUtils]: 26: Hoare triple {40713#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40713#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {40720#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {40713#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {40720#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {40720#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:58,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {40727#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {40720#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:37:58,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {40727#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {40727#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:58,434 INFO L290 TraceCheckUtils]: 21: Hoare triple {40734#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40727#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:37:58,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {40734#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40734#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {40741#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40734#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {40741#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40741#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,437 INFO L290 TraceCheckUtils]: 17: Hoare triple {40748#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40741#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,437 INFO L290 TraceCheckUtils]: 16: Hoare triple {40748#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40748#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,438 INFO L290 TraceCheckUtils]: 15: Hoare triple {40755#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40748#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,438 INFO L290 TraceCheckUtils]: 14: Hoare triple {40755#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40755#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {40762#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {40755#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,439 INFO L290 TraceCheckUtils]: 12: Hoare triple {40762#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {40762#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:58,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {40769#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 23))} ~i~0 := 2 + ~i~0; {40762#(or (<= |correct_version_#in~w| 23) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:37:58,440 INFO L290 TraceCheckUtils]: 10: Hoare triple {40769#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 23))} assume !!(~i~0 < ~w); {40769#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {40776#(or (<= 24 correct_version_~w) (<= |correct_version_#in~w| 23))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {40769#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {40184#true} ~w := #in~w;~is_divisible~0 := ~true~0; {40776#(or (<= 24 correct_version_~w) (<= |correct_version_#in~w| 23))} is VALID [2022-04-08 10:37:58,442 INFO L272 TraceCheckUtils]: 7: Hoare triple {40184#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {40184#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {40184#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {40184#true} is VALID [2022-04-08 10:37:58,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {40184#true} call ULTIMATE.init(); {40184#true} is VALID [2022-04-08 10:37:58,443 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:37:58,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [684883448] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:37:58,443 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:37:58,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 93 [2022-04-08 10:37:58,443 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:37:58,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [472572713] [2022-04-08 10:37:58,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [472572713] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:37:58,443 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:37:58,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-08 10:37:58,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [567290145] [2022-04-08 10:37:58,444 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:37:58,444 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 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 77 [2022-04-08 10:37:58,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:37:58,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:37:58,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:37:58,509 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-08 10:37:58,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:37:58,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-08 10:37:58,510 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1373, Invalid=7183, Unknown=0, NotChecked=0, Total=8556 [2022-04-08 10:37:58,511 INFO L87 Difference]: Start difference. First operand 86 states and 89 transitions. Second operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:01,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:01,172 INFO L93 Difference]: Finished difference Result 106 states and 113 transitions. [2022-04-08 10:38:01,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-08 10:38:01,172 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 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 77 [2022-04-08 10:38:01,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:01,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:01,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 108 transitions. [2022-04-08 10:38:01,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:01,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 108 transitions. [2022-04-08 10:38:01,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 108 transitions. [2022-04-08 10:38:01,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:01,262 INFO L225 Difference]: With dead ends: 106 [2022-04-08 10:38:01,262 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 10:38:01,263 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 95 SyntacticMatches, 5 SemanticMatches, 123 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6886 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=2372, Invalid=13128, Unknown=0, NotChecked=0, Total=15500 [2022-04-08 10:38:01,264 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 93 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 577 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 618 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 577 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:01,264 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [97 Valid, 72 Invalid, 618 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 577 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:38:01,264 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 10:38:02,039 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 89. [2022-04-08 10:38:02,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:02,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:02,039 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:02,039 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:02,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:02,040 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-04-08 10:38:02,040 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-08 10:38:02,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:02,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:02,040 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:38:02,041 INFO L87 Difference]: Start difference. First operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:38:02,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:02,041 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-04-08 10:38:02,041 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-08 10:38:02,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:02,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:02,042 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:02,042 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:02,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 77 states have (on average 1.0649350649350648) internal successors, (82), 79 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:02,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-04-08 10:38:02,043 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 77 [2022-04-08 10:38:02,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:02,043 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-04-08 10:38:02,043 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:02,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 93 transitions. [2022-04-08 10:38:02,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:02,285 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-04-08 10:38:02,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-08 10:38:02,286 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:02,286 INFO L499 BasicCegarLoop]: trace histogram [12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:02,312 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Forceful destruction successful, exit code 0 [2022-04-08 10:38:02,486 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-08 10:38:02,487 INFO L403 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:02,487 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:02,487 INFO L85 PathProgramCache]: Analyzing trace with hash 747351987, now seen corresponding path program 43 times [2022-04-08 10:38:02,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:02,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [513147115] [2022-04-08 10:38:02,490 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:02,490 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:02,490 INFO L85 PathProgramCache]: Analyzing trace with hash 747351987, now seen corresponding path program 44 times [2022-04-08 10:38:02,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:02,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466761088] [2022-04-08 10:38:02,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:02,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:02,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:02,558 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:02,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:02,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {41515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {41447#true} is VALID [2022-04-08 10:38:02,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-08 10:38:02,561 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-08 10:38:02,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:02,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:02,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {41447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {41516#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:02,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {41516#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,805 INFO L290 TraceCheckUtils]: 4: Hoare triple {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,808 INFO L290 TraceCheckUtils]: 10: Hoare triple {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,811 INFO L290 TraceCheckUtils]: 16: Hoare triple {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,811 INFO L290 TraceCheckUtils]: 17: Hoare triple {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,812 INFO L290 TraceCheckUtils]: 18: Hoare triple {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:02,812 INFO L290 TraceCheckUtils]: 19: Hoare triple {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,813 INFO L290 TraceCheckUtils]: 21: Hoare triple {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,815 INFO L290 TraceCheckUtils]: 25: Hoare triple {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:02,816 INFO L290 TraceCheckUtils]: 27: Hoare triple {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:02,817 INFO L290 TraceCheckUtils]: 28: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} #res := ~is_divisible~0; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:02,817 INFO L290 TraceCheckUtils]: 29: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:02,818 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {41530#(<= 24 |correct_version_#in~w|)} {41447#true} #87#return; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:02,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-08 10:38:02,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:03,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {41447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {41531#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:03,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {41531#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:03,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:03,221 INFO L290 TraceCheckUtils]: 3: Hoare triple {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,221 INFO L290 TraceCheckUtils]: 4: Hoare triple {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,222 INFO L290 TraceCheckUtils]: 6: Hoare triple {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:03,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:03,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,224 INFO L290 TraceCheckUtils]: 10: Hoare triple {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:03,225 INFO L290 TraceCheckUtils]: 12: Hoare triple {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:03,225 INFO L290 TraceCheckUtils]: 13: Hoare triple {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:03,227 INFO L290 TraceCheckUtils]: 16: Hoare triple {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:03,227 INFO L290 TraceCheckUtils]: 17: Hoare triple {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:03,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:03,228 INFO L290 TraceCheckUtils]: 19: Hoare triple {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:03,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:03,229 INFO L290 TraceCheckUtils]: 21: Hoare triple {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:03,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:03,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {41544#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,232 INFO L290 TraceCheckUtils]: 26: Hoare triple {41544#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {41545#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:38:03,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {41545#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {41546#(<= |student_version_#in~w| 23)} #res := ~is_divisible~1; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,234 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {41546#(<= |student_version_#in~w| 23)} {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} #89#return; {41448#false} is VALID [2022-04-08 10:38:03,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {41447#true} call ULTIMATE.init(); {41515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:03,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {41515#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {41447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-08 10:38:03,235 INFO L272 TraceCheckUtils]: 7: Hoare triple {41447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:03,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {41447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {41516#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:03,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {41516#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {41517#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {41518#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {41519#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,240 INFO L290 TraceCheckUtils]: 17: Hoare triple {41520#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {41521#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,242 INFO L290 TraceCheckUtils]: 21: Hoare triple {41522#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,242 INFO L290 TraceCheckUtils]: 22: Hoare triple {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {41523#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,243 INFO L290 TraceCheckUtils]: 24: Hoare triple {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {41524#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:03,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {41525#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,245 INFO L290 TraceCheckUtils]: 28: Hoare triple {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,246 INFO L290 TraceCheckUtils]: 29: Hoare triple {41526#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {41527#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {41528#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,248 INFO L290 TraceCheckUtils]: 34: Hoare triple {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:03,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {41529#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:03,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} #res := ~is_divisible~0; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:03,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:03,250 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {41530#(<= 24 |correct_version_#in~w|)} {41447#true} #87#return; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:03,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:03,251 INFO L272 TraceCheckUtils]: 40: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:03,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {41447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {41531#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:03,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {41531#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:03,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:03,253 INFO L290 TraceCheckUtils]: 44: Hoare triple {41532#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,254 INFO L290 TraceCheckUtils]: 46: Hoare triple {41533#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,254 INFO L290 TraceCheckUtils]: 47: Hoare triple {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {41534#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:03,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:03,256 INFO L290 TraceCheckUtils]: 50: Hoare triple {41535#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,256 INFO L290 TraceCheckUtils]: 51: Hoare triple {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,257 INFO L290 TraceCheckUtils]: 52: Hoare triple {41536#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:03,257 INFO L290 TraceCheckUtils]: 53: Hoare triple {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:03,258 INFO L290 TraceCheckUtils]: 54: Hoare triple {41537#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,258 INFO L290 TraceCheckUtils]: 55: Hoare triple {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,259 INFO L290 TraceCheckUtils]: 56: Hoare triple {41538#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:03,259 INFO L290 TraceCheckUtils]: 57: Hoare triple {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:03,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {41539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:03,260 INFO L290 TraceCheckUtils]: 59: Hoare triple {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:03,261 INFO L290 TraceCheckUtils]: 60: Hoare triple {41540#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:03,261 INFO L290 TraceCheckUtils]: 61: Hoare triple {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:03,262 INFO L290 TraceCheckUtils]: 62: Hoare triple {41541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,262 INFO L290 TraceCheckUtils]: 63: Hoare triple {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,263 INFO L290 TraceCheckUtils]: 64: Hoare triple {41542#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:03,263 INFO L290 TraceCheckUtils]: 65: Hoare triple {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:03,264 INFO L290 TraceCheckUtils]: 66: Hoare triple {41543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {41544#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:03,264 INFO L290 TraceCheckUtils]: 67: Hoare triple {41544#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {41545#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:38:03,265 INFO L290 TraceCheckUtils]: 68: Hoare triple {41545#(and (or (<= student_version_~i~1 24) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,265 INFO L290 TraceCheckUtils]: 69: Hoare triple {41546#(<= |student_version_#in~w| 23)} #res := ~is_divisible~1; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,266 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:03,267 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41546#(<= |student_version_#in~w| 23)} {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} #89#return; {41448#false} is VALID [2022-04-08 10:38:03,267 INFO L290 TraceCheckUtils]: 72: Hoare triple {41448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {41448#false} is VALID [2022-04-08 10:38:03,267 INFO L272 TraceCheckUtils]: 73: Hoare triple {41448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {41448#false} is VALID [2022-04-08 10:38:03,267 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-08 10:38:03,267 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-08 10:38:03,267 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-08 10:38:03,268 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:03,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:03,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466761088] [2022-04-08 10:38:03,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1466761088] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:03,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1079052702] [2022-04-08 10:38:03,269 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:38:03,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:03,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:03,270 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:38:03,295 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-04-08 10:38:03,417 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:38:03,417 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:03,419 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 10:38:03,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:03,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:05,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {41447#true} call ULTIMATE.init(); {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {41447#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {41447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L272 TraceCheckUtils]: 7: Hoare triple {41447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:05,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {41447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {41574#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:38:05,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {41574#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {41578#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {41578#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {41578#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {41578#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41585#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {41585#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {41585#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {41585#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41592#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {41592#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {41592#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {41592#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41599#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:05,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {41599#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41599#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:05,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {41599#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41606#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {41606#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {41606#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {41606#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41613#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:05,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {41613#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41613#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:05,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {41613#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41620#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {41620#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {41620#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {41620#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41627#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {41627#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {41627#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {41627#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41634#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {41634#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {41634#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {41634#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41641#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {41641#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {41641#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,183 INFO L290 TraceCheckUtils]: 29: Hoare triple {41641#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41648#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {41648#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {41648#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,184 INFO L290 TraceCheckUtils]: 31: Hoare triple {41648#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41655#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {41655#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {41655#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {41655#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {41662#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,185 INFO L290 TraceCheckUtils]: 34: Hoare triple {41662#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !(~i~0 < ~w); {41662#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:38:05,185 INFO L290 TraceCheckUtils]: 35: Hoare triple {41662#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !(~i~0 != ~w); {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:05,185 INFO L290 TraceCheckUtils]: 36: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} #res := ~is_divisible~0; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:05,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:05,187 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {41530#(<= 24 |correct_version_#in~w|)} {41447#true} #87#return; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:05,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:05,187 INFO L272 TraceCheckUtils]: 40: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:05,188 INFO L290 TraceCheckUtils]: 41: Hoare triple {41447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {41687#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:05,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {41687#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {41691#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:05,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {41691#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {41691#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:05,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {41691#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {41698#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:38:05,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {41698#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {41698#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:38:05,190 INFO L290 TraceCheckUtils]: 46: Hoare triple {41698#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {41705#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:38:05,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {41705#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {41705#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:38:05,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {41705#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {41712#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:05,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {41712#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {41712#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:05,191 INFO L290 TraceCheckUtils]: 50: Hoare triple {41712#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {41719#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:38:05,191 INFO L290 TraceCheckUtils]: 51: Hoare triple {41719#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {41719#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:38:05,192 INFO L290 TraceCheckUtils]: 52: Hoare triple {41719#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {41726#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:05,192 INFO L290 TraceCheckUtils]: 53: Hoare triple {41726#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {41726#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:05,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {41726#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {41733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:38:05,193 INFO L290 TraceCheckUtils]: 55: Hoare triple {41733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {41733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:38:05,194 INFO L290 TraceCheckUtils]: 56: Hoare triple {41733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {41740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:05,194 INFO L290 TraceCheckUtils]: 57: Hoare triple {41740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {41740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:05,194 INFO L290 TraceCheckUtils]: 58: Hoare triple {41740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {41747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:05,195 INFO L290 TraceCheckUtils]: 59: Hoare triple {41747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {41747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:05,204 INFO L290 TraceCheckUtils]: 60: Hoare triple {41747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {41754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:05,204 INFO L290 TraceCheckUtils]: 61: Hoare triple {41754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {41754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:05,205 INFO L290 TraceCheckUtils]: 62: Hoare triple {41754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {41761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:38:05,205 INFO L290 TraceCheckUtils]: 63: Hoare triple {41761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {41761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:38:05,206 INFO L290 TraceCheckUtils]: 64: Hoare triple {41761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {41768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:05,206 INFO L290 TraceCheckUtils]: 65: Hoare triple {41768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {41768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:05,206 INFO L290 TraceCheckUtils]: 66: Hoare triple {41768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {41775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:38:05,207 INFO L290 TraceCheckUtils]: 67: Hoare triple {41775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !(~i~1 < ~w); {41779#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:38:05,207 INFO L290 TraceCheckUtils]: 68: Hoare triple {41779#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 24))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:05,208 INFO L290 TraceCheckUtils]: 69: Hoare triple {41546#(<= |student_version_#in~w| 23)} #res := ~is_divisible~1; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:05,208 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:05,209 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41546#(<= |student_version_#in~w| 23)} {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} #89#return; {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L290 TraceCheckUtils]: 72: Hoare triple {41448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L272 TraceCheckUtils]: 73: Hoare triple {41448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-08 10:38:05,209 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:05,209 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:17,470 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-08 10:38:17,470 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-08 10:38:17,470 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-08 10:38:17,470 INFO L272 TraceCheckUtils]: 73: Hoare triple {41448#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {41448#false} is VALID [2022-04-08 10:38:17,470 INFO L290 TraceCheckUtils]: 72: Hoare triple {41448#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {41448#false} is VALID [2022-04-08 10:38:17,471 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {41546#(<= |student_version_#in~w| 23)} {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} #89#return; {41448#false} is VALID [2022-04-08 10:38:17,471 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:17,471 INFO L290 TraceCheckUtils]: 69: Hoare triple {41546#(<= |student_version_#in~w| 23)} #res := ~is_divisible~1; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:17,472 INFO L290 TraceCheckUtils]: 68: Hoare triple {41834#(or (<= |student_version_#in~w| 23) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-08 10:38:17,472 INFO L290 TraceCheckUtils]: 67: Hoare triple {41838#(or (<= |student_version_#in~w| 23) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {41834#(or (<= |student_version_#in~w| 23) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:38:17,473 INFO L290 TraceCheckUtils]: 66: Hoare triple {41842#(or (<= |student_version_#in~w| 23) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {41838#(or (<= |student_version_#in~w| 23) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:38:17,473 INFO L290 TraceCheckUtils]: 65: Hoare triple {41842#(or (<= |student_version_#in~w| 23) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {41842#(or (<= |student_version_#in~w| 23) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,473 INFO L290 TraceCheckUtils]: 64: Hoare triple {41849#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {41842#(or (<= |student_version_#in~w| 23) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,474 INFO L290 TraceCheckUtils]: 63: Hoare triple {41849#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {41849#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:38:17,474 INFO L290 TraceCheckUtils]: 62: Hoare triple {41856#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} ~i~1 := 2 + ~i~1; {41849#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:38:17,475 INFO L290 TraceCheckUtils]: 61: Hoare triple {41856#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} assume !!(~i~1 < ~w); {41856#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,475 INFO L290 TraceCheckUtils]: 60: Hoare triple {41863#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {41856#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,475 INFO L290 TraceCheckUtils]: 59: Hoare triple {41863#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {41863#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:38:17,476 INFO L290 TraceCheckUtils]: 58: Hoare triple {41870#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 23))} ~i~1 := 2 + ~i~1; {41863#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:38:17,476 INFO L290 TraceCheckUtils]: 57: Hoare triple {41870#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 23))} assume !!(~i~1 < ~w); {41870#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,477 INFO L290 TraceCheckUtils]: 56: Hoare triple {41877#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 23))} ~i~1 := 2 + ~i~1; {41870#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,477 INFO L290 TraceCheckUtils]: 55: Hoare triple {41877#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 23))} assume !!(~i~1 < ~w); {41877#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,477 INFO L290 TraceCheckUtils]: 54: Hoare triple {41884#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} ~i~1 := 2 + ~i~1; {41877#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {41884#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} assume !!(~i~1 < ~w); {41884#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,478 INFO L290 TraceCheckUtils]: 52: Hoare triple {41891#(or (<= |student_version_#in~w| 23) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {41884#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,478 INFO L290 TraceCheckUtils]: 51: Hoare triple {41891#(or (<= |student_version_#in~w| 23) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {41891#(or (<= |student_version_#in~w| 23) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,479 INFO L290 TraceCheckUtils]: 50: Hoare triple {41898#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 23))} ~i~1 := 2 + ~i~1; {41891#(or (<= |student_version_#in~w| 23) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {41898#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 23))} assume !!(~i~1 < ~w); {41898#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,480 INFO L290 TraceCheckUtils]: 48: Hoare triple {41905#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {41898#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 23))} is VALID [2022-04-08 10:38:17,480 INFO L290 TraceCheckUtils]: 47: Hoare triple {41905#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {41905#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:38:17,481 INFO L290 TraceCheckUtils]: 46: Hoare triple {41912#(or (<= |student_version_#in~w| 23) (<= (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {41905#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:38:17,481 INFO L290 TraceCheckUtils]: 45: Hoare triple {41912#(or (<= |student_version_#in~w| 23) (<= (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {41912#(or (<= |student_version_#in~w| 23) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,481 INFO L290 TraceCheckUtils]: 44: Hoare triple {41919#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {41912#(or (<= |student_version_#in~w| 23) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:17,482 INFO L290 TraceCheckUtils]: 43: Hoare triple {41919#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {41919#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:38:17,482 INFO L290 TraceCheckUtils]: 42: Hoare triple {41926#(or (<= |student_version_#in~w| 23) (<= 24 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {41919#(or (<= |student_version_#in~w| 23) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:38:17,482 INFO L290 TraceCheckUtils]: 41: Hoare triple {41447#true} ~w := #in~w;~is_divisible~1 := ~true~0; {41926#(or (<= |student_version_#in~w| 23) (<= 24 student_version_~w))} is VALID [2022-04-08 10:38:17,482 INFO L272 TraceCheckUtils]: 40: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:17,483 INFO L290 TraceCheckUtils]: 39: Hoare triple {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:17,484 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {41530#(<= 24 |correct_version_#in~w|)} {41447#true} #87#return; {41483#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 24) main_~w~0))} is VALID [2022-04-08 10:38:17,484 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:17,484 INFO L290 TraceCheckUtils]: 36: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} #res := ~is_divisible~0; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:17,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {41948#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 24 |correct_version_#in~w|))} assume !(~i~0 != ~w); {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:17,485 INFO L290 TraceCheckUtils]: 34: Hoare triple {41948#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 24 |correct_version_#in~w|))} assume !(~i~0 < ~w); {41948#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,486 INFO L290 TraceCheckUtils]: 33: Hoare triple {41955#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41948#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,486 INFO L290 TraceCheckUtils]: 32: Hoare triple {41955#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41955#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {41962#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41955#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,487 INFO L290 TraceCheckUtils]: 30: Hoare triple {41962#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41962#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,487 INFO L290 TraceCheckUtils]: 29: Hoare triple {41969#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41962#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {41969#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41969#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {41976#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41969#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {41976#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41976#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,489 INFO L290 TraceCheckUtils]: 25: Hoare triple {41983#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41976#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,489 INFO L290 TraceCheckUtils]: 24: Hoare triple {41983#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41983#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,489 INFO L290 TraceCheckUtils]: 23: Hoare triple {41990#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41983#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,490 INFO L290 TraceCheckUtils]: 22: Hoare triple {41990#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41990#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {41997#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41990#(or (< correct_version_~w (+ correct_version_~i~0 12)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {41997#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {41997#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {42004#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {41997#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {42004#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {42004#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,492 INFO L290 TraceCheckUtils]: 17: Hoare triple {42011#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {42004#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,492 INFO L290 TraceCheckUtils]: 16: Hoare triple {42011#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {42011#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {42018#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {42011#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {42018#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {42018#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {42025#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {42018#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {42025#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {42025#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {42032#(or (< correct_version_~w (+ correct_version_~i~0 24)) (<= 24 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {42025#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {42032#(or (< correct_version_~w (+ correct_version_~i~0 24)) (<= 24 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {42032#(or (< correct_version_~w (+ correct_version_~i~0 24)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {42039#(or (< correct_version_~w 24) (<= 24 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {42032#(or (< correct_version_~w (+ correct_version_~i~0 24)) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {41447#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42039#(or (< correct_version_~w 24) (<= 24 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:17,495 INFO L272 TraceCheckUtils]: 7: Hoare triple {41447#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {41447#true} is VALID [2022-04-08 10:38:17,495 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-08 10:38:17,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {41447#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {41447#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {41447#true} call ULTIMATE.init(); {41447#true} is VALID [2022-04-08 10:38:17,496 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 144 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:17,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1079052702] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:17,496 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:17,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 93 [2022-04-08 10:38:17,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:17,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [513147115] [2022-04-08 10:38:17,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [513147115] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:17,497 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:17,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-08 10:38:17,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [464570065] [2022-04-08 10:38:17,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:17,497 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 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 77 [2022-04-08 10:38:17,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:17,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:17,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:17,549 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-08 10:38:17,549 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:17,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-08 10:38:17,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1373, Invalid=7183, Unknown=0, NotChecked=0, Total=8556 [2022-04-08 10:38:17,550 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:20,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:20,112 INFO L93 Difference]: Finished difference Result 101 states and 106 transitions. [2022-04-08 10:38:20,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-08 10:38:20,112 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 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 77 [2022-04-08 10:38:20,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:20,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:20,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 101 transitions. [2022-04-08 10:38:20,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:20,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 101 transitions. [2022-04-08 10:38:20,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 101 transitions. [2022-04-08 10:38:20,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:20,198 INFO L225 Difference]: With dead ends: 101 [2022-04-08 10:38:20,198 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 10:38:20,199 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 95 SyntacticMatches, 5 SemanticMatches, 123 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6899 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=2372, Invalid=13128, Unknown=0, NotChecked=0, Total=15500 [2022-04-08 10:38:20,199 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 98 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 530 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 573 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 530 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:20,199 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [99 Valid, 65 Invalid, 573 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 530 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:38:20,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 10:38:21,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-04-08 10:38:21,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:21,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:21,065 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:21,065 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:21,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:21,067 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-04-08 10:38:21,067 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-08 10:38:21,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:21,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:21,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 92 states. [2022-04-08 10:38:21,067 INFO L87 Difference]: Start difference. First operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 92 states. [2022-04-08 10:38:21,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:21,068 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-04-08 10:38:21,068 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-08 10:38:21,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:21,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:21,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:21,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:21,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 80 states have (on average 1.075) internal successors, (86), 82 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:21,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 97 transitions. [2022-04-08 10:38:21,070 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 97 transitions. Word has length 77 [2022-04-08 10:38:21,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:21,070 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 97 transitions. [2022-04-08 10:38:21,070 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 35 states have (on average 1.9714285714285715) internal successors, (69), 34 states have internal predecessors, (69), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:21,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 97 transitions. [2022-04-08 10:38:21,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:21,269 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-08 10:38:21,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 10:38:21,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:21,270 INFO L499 BasicCegarLoop]: trace histogram [13, 13, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:21,287 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Ended with exit code 0 [2022-04-08 10:38:21,470 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable49,47 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:21,470 INFO L403 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:21,470 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:21,470 INFO L85 PathProgramCache]: Analyzing trace with hash -781499979, now seen corresponding path program 45 times [2022-04-08 10:38:21,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:21,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [827384059] [2022-04-08 10:38:21,473 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:21,473 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:21,473 INFO L85 PathProgramCache]: Analyzing trace with hash -781499979, now seen corresponding path program 46 times [2022-04-08 10:38:21,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:21,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [715445066] [2022-04-08 10:38:21,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:21,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:21,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:21,519 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:21,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:21,522 INFO L290 TraceCheckUtils]: 0: Hoare triple {42770#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42700#true} is VALID [2022-04-08 10:38:21,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-08 10:38:21,522 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-08 10:38:21,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:21,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:21,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {42700#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42771#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:21,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {42771#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,738 INFO L290 TraceCheckUtils]: 3: Hoare triple {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,739 INFO L290 TraceCheckUtils]: 4: Hoare triple {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,739 INFO L290 TraceCheckUtils]: 6: Hoare triple {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:21,741 INFO L290 TraceCheckUtils]: 10: Hoare triple {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:21,741 INFO L290 TraceCheckUtils]: 11: Hoare triple {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,742 INFO L290 TraceCheckUtils]: 12: Hoare triple {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,742 INFO L290 TraceCheckUtils]: 13: Hoare triple {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,743 INFO L290 TraceCheckUtils]: 14: Hoare triple {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,743 INFO L290 TraceCheckUtils]: 15: Hoare triple {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:21,743 INFO L290 TraceCheckUtils]: 16: Hoare triple {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:21,744 INFO L290 TraceCheckUtils]: 17: Hoare triple {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:21,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:21,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,746 INFO L290 TraceCheckUtils]: 22: Hoare triple {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,746 INFO L290 TraceCheckUtils]: 24: Hoare triple {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42784#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,747 INFO L290 TraceCheckUtils]: 26: Hoare triple {42784#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {42785#(and (<= correct_version_~w 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:21,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {42785#(and (<= correct_version_~w 24) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:21,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {42786#(<= |correct_version_#in~w| 24)} #res := ~is_divisible~0; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:21,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:21,749 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42786#(<= |correct_version_#in~w| 24)} {42700#true} #87#return; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:21,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-08 10:38:21,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:22,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {42700#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42787#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:22,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {42787#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:22,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:22,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:22,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:22,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:22,007 INFO L290 TraceCheckUtils]: 10: Hoare triple {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:22,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,008 INFO L290 TraceCheckUtils]: 12: Hoare triple {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:22,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:22,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,011 INFO L290 TraceCheckUtils]: 20: Hoare triple {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:22,012 INFO L290 TraceCheckUtils]: 22: Hoare triple {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:22,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42800#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,013 INFO L290 TraceCheckUtils]: 26: Hoare triple {42800#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {42802#(<= 25 |student_version_#in~w|)} #res := ~is_divisible~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,016 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {42802#(<= 25 |student_version_#in~w|)} {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} #89#return; {42701#false} is VALID [2022-04-08 10:38:22,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {42700#true} call ULTIMATE.init(); {42770#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:22,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {42700#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L272 TraceCheckUtils]: 7: Hoare triple {42700#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:22,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {42700#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42771#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:22,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {42771#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,018 INFO L290 TraceCheckUtils]: 10: Hoare triple {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,018 INFO L290 TraceCheckUtils]: 11: Hoare triple {42772#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {42773#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,020 INFO L290 TraceCheckUtils]: 15: Hoare triple {42774#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,020 INFO L290 TraceCheckUtils]: 16: Hoare triple {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,021 INFO L290 TraceCheckUtils]: 17: Hoare triple {42775#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:22,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:22,021 INFO L290 TraceCheckUtils]: 19: Hoare triple {42776#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {42777#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {42778#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:22,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:22,024 INFO L290 TraceCheckUtils]: 25: Hoare triple {42779#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {42780#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:22,025 INFO L290 TraceCheckUtils]: 28: Hoare triple {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:22,025 INFO L290 TraceCheckUtils]: 29: Hoare triple {42781#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {42782#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,027 INFO L290 TraceCheckUtils]: 33: Hoare triple {42783#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {42784#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {42784#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {42785#(and (<= correct_version_~w 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:22,028 INFO L290 TraceCheckUtils]: 35: Hoare triple {42785#(and (<= correct_version_~w 24) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:22,028 INFO L290 TraceCheckUtils]: 36: Hoare triple {42786#(<= |correct_version_#in~w| 24)} #res := ~is_divisible~0; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:22,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:22,029 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {42786#(<= |correct_version_#in~w| 24)} {42700#true} #87#return; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:22,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:22,029 INFO L272 TraceCheckUtils]: 40: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:22,030 INFO L290 TraceCheckUtils]: 41: Hoare triple {42700#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42787#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:22,030 INFO L290 TraceCheckUtils]: 42: Hoare triple {42787#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,030 INFO L290 TraceCheckUtils]: 43: Hoare triple {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,031 INFO L290 TraceCheckUtils]: 44: Hoare triple {42788#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,031 INFO L290 TraceCheckUtils]: 45: Hoare triple {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,032 INFO L290 TraceCheckUtils]: 46: Hoare triple {42789#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:22,032 INFO L290 TraceCheckUtils]: 47: Hoare triple {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:22,032 INFO L290 TraceCheckUtils]: 48: Hoare triple {42790#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:22,033 INFO L290 TraceCheckUtils]: 49: Hoare triple {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:22,033 INFO L290 TraceCheckUtils]: 50: Hoare triple {42791#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:22,033 INFO L290 TraceCheckUtils]: 51: Hoare triple {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:22,034 INFO L290 TraceCheckUtils]: 52: Hoare triple {42792#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,034 INFO L290 TraceCheckUtils]: 53: Hoare triple {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,035 INFO L290 TraceCheckUtils]: 54: Hoare triple {42793#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:22,035 INFO L290 TraceCheckUtils]: 55: Hoare triple {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:22,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {42794#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,036 INFO L290 TraceCheckUtils]: 58: Hoare triple {42795#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,037 INFO L290 TraceCheckUtils]: 59: Hoare triple {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,037 INFO L290 TraceCheckUtils]: 60: Hoare triple {42796#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,038 INFO L290 TraceCheckUtils]: 62: Hoare triple {42797#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:22,038 INFO L290 TraceCheckUtils]: 63: Hoare triple {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:22,039 INFO L290 TraceCheckUtils]: 64: Hoare triple {42798#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,039 INFO L290 TraceCheckUtils]: 65: Hoare triple {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,039 INFO L290 TraceCheckUtils]: 66: Hoare triple {42799#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42800#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,040 INFO L290 TraceCheckUtils]: 67: Hoare triple {42800#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,040 INFO L290 TraceCheckUtils]: 68: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:22,041 INFO L290 TraceCheckUtils]: 70: Hoare triple {42801#(and (<= 25 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,050 INFO L290 TraceCheckUtils]: 71: Hoare triple {42802#(<= 25 |student_version_#in~w|)} #res := ~is_divisible~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,050 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:22,051 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {42802#(<= 25 |student_version_#in~w|)} {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} #89#return; {42701#false} is VALID [2022-04-08 10:38:22,051 INFO L290 TraceCheckUtils]: 74: Hoare triple {42701#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {42701#false} is VALID [2022-04-08 10:38:22,051 INFO L272 TraceCheckUtils]: 75: Hoare triple {42701#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {42701#false} is VALID [2022-04-08 10:38:22,052 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-08 10:38:22,052 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-08 10:38:22,052 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-08 10:38:22,052 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 144 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:22,052 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:22,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [715445066] [2022-04-08 10:38:22,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [715445066] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:22,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2037801436] [2022-04-08 10:38:22,052 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:38:22,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:22,053 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:22,055 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:38:22,057 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-04-08 10:38:22,180 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:38:22,180 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:22,181 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 10:38:22,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:22,208 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:23,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {42700#true} call ULTIMATE.init(); {42700#true} is VALID [2022-04-08 10:38:23,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {42700#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42700#true} is VALID [2022-04-08 10:38:23,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-08 10:38:23,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-08 10:38:23,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-08 10:38:23,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {42700#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {42700#true} is VALID [2022-04-08 10:38:23,542 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-08 10:38:23,542 INFO L272 TraceCheckUtils]: 7: Hoare triple {42700#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:23,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {42700#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42830#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:23,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {42830#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {42834#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:38:23,543 INFO L290 TraceCheckUtils]: 10: Hoare triple {42834#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {42834#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:38:23,543 INFO L290 TraceCheckUtils]: 11: Hoare triple {42834#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {42841#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:38:23,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {42841#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {42841#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:38:23,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {42841#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {42848#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:38:23,544 INFO L290 TraceCheckUtils]: 14: Hoare triple {42848#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {42848#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:38:23,545 INFO L290 TraceCheckUtils]: 15: Hoare triple {42848#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {42855#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:38:23,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {42855#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {42855#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:38:23,546 INFO L290 TraceCheckUtils]: 17: Hoare triple {42855#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {42862#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:23,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {42862#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {42862#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:23,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {42862#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {42869#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:38:23,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {42869#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {42869#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:38:23,547 INFO L290 TraceCheckUtils]: 21: Hoare triple {42869#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {42876#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:38:23,548 INFO L290 TraceCheckUtils]: 22: Hoare triple {42876#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {42876#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:38:23,548 INFO L290 TraceCheckUtils]: 23: Hoare triple {42876#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {42883#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:23,548 INFO L290 TraceCheckUtils]: 24: Hoare triple {42883#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {42883#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:23,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {42883#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {42890#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:38:23,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {42890#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {42890#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:38:23,550 INFO L290 TraceCheckUtils]: 27: Hoare triple {42890#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {42897#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:23,550 INFO L290 TraceCheckUtils]: 28: Hoare triple {42897#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {42897#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:23,550 INFO L290 TraceCheckUtils]: 29: Hoare triple {42897#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {42904#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:38:23,551 INFO L290 TraceCheckUtils]: 30: Hoare triple {42904#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {42904#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:38:23,551 INFO L290 TraceCheckUtils]: 31: Hoare triple {42904#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {42911#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:38:23,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {42911#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {42911#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:38:23,552 INFO L290 TraceCheckUtils]: 33: Hoare triple {42911#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {42918#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:38:23,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {42918#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !(~i~0 < ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:23,553 INFO L290 TraceCheckUtils]: 35: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume !(~i~0 != ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:23,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {42786#(<= |correct_version_#in~w| 24)} #res := ~is_divisible~0; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:23,553 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:23,554 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {42786#(<= |correct_version_#in~w| 24)} {42700#true} #87#return; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:23,555 INFO L290 TraceCheckUtils]: 39: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:23,555 INFO L272 TraceCheckUtils]: 40: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:23,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {42700#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42943#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {42943#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {42947#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,556 INFO L290 TraceCheckUtils]: 43: Hoare triple {42947#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42947#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,556 INFO L290 TraceCheckUtils]: 44: Hoare triple {42947#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42954#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,556 INFO L290 TraceCheckUtils]: 45: Hoare triple {42954#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42954#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,557 INFO L290 TraceCheckUtils]: 46: Hoare triple {42954#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42961#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:23,557 INFO L290 TraceCheckUtils]: 47: Hoare triple {42961#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {42961#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:23,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {42961#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {42968#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {42968#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42968#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,558 INFO L290 TraceCheckUtils]: 50: Hoare triple {42968#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42975#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,559 INFO L290 TraceCheckUtils]: 51: Hoare triple {42975#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42975#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {42975#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42982#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,560 INFO L290 TraceCheckUtils]: 53: Hoare triple {42982#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42982#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,560 INFO L290 TraceCheckUtils]: 54: Hoare triple {42982#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42989#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {42989#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42989#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,561 INFO L290 TraceCheckUtils]: 56: Hoare triple {42989#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {42996#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,561 INFO L290 TraceCheckUtils]: 57: Hoare triple {42996#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42996#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,562 INFO L290 TraceCheckUtils]: 58: Hoare triple {42996#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43003#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,562 INFO L290 TraceCheckUtils]: 59: Hoare triple {43003#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {43003#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,562 INFO L290 TraceCheckUtils]: 60: Hoare triple {43003#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43010#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,563 INFO L290 TraceCheckUtils]: 61: Hoare triple {43010#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {43010#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,563 INFO L290 TraceCheckUtils]: 62: Hoare triple {43010#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43017#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,564 INFO L290 TraceCheckUtils]: 63: Hoare triple {43017#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {43017#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,564 INFO L290 TraceCheckUtils]: 64: Hoare triple {43017#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43024#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,564 INFO L290 TraceCheckUtils]: 65: Hoare triple {43024#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {43024#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,565 INFO L290 TraceCheckUtils]: 66: Hoare triple {43024#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43031#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:23,565 INFO L290 TraceCheckUtils]: 67: Hoare triple {43031#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,566 INFO L290 TraceCheckUtils]: 68: Hoare triple {42802#(<= 25 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,566 INFO L290 TraceCheckUtils]: 69: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume !(~i~1 < ~w); {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,566 INFO L290 TraceCheckUtils]: 70: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,566 INFO L290 TraceCheckUtils]: 71: Hoare triple {42802#(<= 25 |student_version_#in~w|)} #res := ~is_divisible~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,567 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:23,568 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {42802#(<= 25 |student_version_#in~w|)} {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} #89#return; {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L290 TraceCheckUtils]: 74: Hoare triple {42701#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L272 TraceCheckUtils]: 75: Hoare triple {42701#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-08 10:38:23,568 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 144 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:23,568 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:28,706 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-08 10:38:28,706 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-08 10:38:28,706 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-08 10:38:28,706 INFO L272 TraceCheckUtils]: 75: Hoare triple {42701#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {42701#false} is VALID [2022-04-08 10:38:28,706 INFO L290 TraceCheckUtils]: 74: Hoare triple {42701#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {42701#false} is VALID [2022-04-08 10:38:28,707 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {42802#(<= 25 |student_version_#in~w|)} {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} #89#return; {42701#false} is VALID [2022-04-08 10:38:28,707 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,708 INFO L290 TraceCheckUtils]: 71: Hoare triple {42802#(<= 25 |student_version_#in~w|)} #res := ~is_divisible~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,708 INFO L290 TraceCheckUtils]: 69: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume !(~i~1 < ~w); {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,709 INFO L290 TraceCheckUtils]: 68: Hoare triple {42802#(<= 25 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,709 INFO L290 TraceCheckUtils]: 67: Hoare triple {43104#(or (not (< student_version_~i~1 student_version_~w)) (<= 25 |student_version_#in~w|))} assume !!(~i~1 < ~w); {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-08 10:38:28,709 INFO L290 TraceCheckUtils]: 66: Hoare triple {43108#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {43104#(or (not (< student_version_~i~1 student_version_~w)) (<= 25 |student_version_#in~w|))} is VALID [2022-04-08 10:38:28,710 INFO L290 TraceCheckUtils]: 65: Hoare triple {43108#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {43108#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,710 INFO L290 TraceCheckUtils]: 64: Hoare triple {43115#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {43108#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,710 INFO L290 TraceCheckUtils]: 63: Hoare triple {43115#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {43115#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:38:28,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {43122#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {43115#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-08 10:38:28,711 INFO L290 TraceCheckUtils]: 61: Hoare triple {43122#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {43122#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {43129#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {43122#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,712 INFO L290 TraceCheckUtils]: 59: Hoare triple {43129#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {43129#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:38:28,712 INFO L290 TraceCheckUtils]: 58: Hoare triple {43136#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 25 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {43129#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:38:28,713 INFO L290 TraceCheckUtils]: 57: Hoare triple {43136#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 25 |student_version_#in~w|))} assume !!(~i~1 < ~w); {43136#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 25 |student_version_#in~w|))} is VALID [2022-04-08 10:38:28,713 INFO L290 TraceCheckUtils]: 56: Hoare triple {43143#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {43136#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 25 |student_version_#in~w|))} is VALID [2022-04-08 10:38:28,714 INFO L290 TraceCheckUtils]: 55: Hoare triple {43143#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {43143#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:38:28,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {43150#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {43143#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:38:28,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {43150#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {43150#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,715 INFO L290 TraceCheckUtils]: 52: Hoare triple {43157#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {43150#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,715 INFO L290 TraceCheckUtils]: 51: Hoare triple {43157#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {43157#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,716 INFO L290 TraceCheckUtils]: 50: Hoare triple {43164#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {43157#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {43164#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {43164#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:38:28,716 INFO L290 TraceCheckUtils]: 48: Hoare triple {43171#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {43164#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:38:28,717 INFO L290 TraceCheckUtils]: 47: Hoare triple {43171#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {43171#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:38:28,717 INFO L290 TraceCheckUtils]: 46: Hoare triple {43178#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {43171#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:38:28,717 INFO L290 TraceCheckUtils]: 45: Hoare triple {43178#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {43178#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {43185#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} ~i~1 := 2 + ~i~1; {43178#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:38:28,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {43185#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} assume !!(~i~1 < ~w); {43185#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:38:28,719 INFO L290 TraceCheckUtils]: 42: Hoare triple {43192#(or (<= 25 |student_version_#in~w|) (<= student_version_~w 24))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {43185#(or (<= 25 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:38:28,719 INFO L290 TraceCheckUtils]: 41: Hoare triple {42700#true} ~w := #in~w;~is_divisible~1 := ~true~0; {43192#(or (<= 25 |student_version_#in~w|) (<= student_version_~w 24))} is VALID [2022-04-08 10:38:28,719 INFO L272 TraceCheckUtils]: 40: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:28,719 INFO L290 TraceCheckUtils]: 39: Hoare triple {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:28,720 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {42786#(<= |correct_version_#in~w| 24)} {42700#true} #87#return; {42736#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 24)))} is VALID [2022-04-08 10:38:28,720 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:28,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {42786#(<= |correct_version_#in~w| 24)} #res := ~is_divisible~0; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:28,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume !(~i~0 != ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:28,721 INFO L290 TraceCheckUtils]: 34: Hoare triple {43217#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 24))} assume !(~i~0 < ~w); {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-08 10:38:28,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {43221#(or (<= |correct_version_#in~w| 24) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {43217#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {43221#(or (<= |correct_version_#in~w| 24) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {43221#(or (<= |correct_version_#in~w| 24) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:38:28,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {43228#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43221#(or (<= |correct_version_#in~w| 24) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:38:28,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {43228#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43228#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {43235#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43228#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,724 INFO L290 TraceCheckUtils]: 28: Hoare triple {43235#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43235#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {43242#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43235#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {43242#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43242#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {43249#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43242#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {43249#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43249#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {43256#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43249#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {43256#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43256#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,727 INFO L290 TraceCheckUtils]: 21: Hoare triple {43263#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43256#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,727 INFO L290 TraceCheckUtils]: 20: Hoare triple {43263#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43263#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {43270#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43263#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {43270#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43270#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,728 INFO L290 TraceCheckUtils]: 17: Hoare triple {43277#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43270#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {43277#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43277#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {43284#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43277#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {43284#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43284#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,730 INFO L290 TraceCheckUtils]: 13: Hoare triple {43291#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43284#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,730 INFO L290 TraceCheckUtils]: 12: Hoare triple {43291#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43291#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,730 INFO L290 TraceCheckUtils]: 11: Hoare triple {43298#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 24))} ~i~0 := 2 + ~i~0; {43291#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,731 INFO L290 TraceCheckUtils]: 10: Hoare triple {43298#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 24))} assume !!(~i~0 < ~w); {43298#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {43305#(or (<= |correct_version_#in~w| 24) (< 24 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {43298#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 24))} is VALID [2022-04-08 10:38:28,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {42700#true} ~w := #in~w;~is_divisible~0 := ~true~0; {43305#(or (<= |correct_version_#in~w| 24) (< 24 correct_version_~w))} is VALID [2022-04-08 10:38:28,732 INFO L272 TraceCheckUtils]: 7: Hoare triple {42700#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L290 TraceCheckUtils]: 5: Hoare triple {42700#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {42700#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {42700#true} call ULTIMATE.init(); {42700#true} is VALID [2022-04-08 10:38:28,732 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 169 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:28,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2037801436] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:28,732 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:28,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 33, 33] total 92 [2022-04-08 10:38:28,733 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:28,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [827384059] [2022-04-08 10:38:28,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [827384059] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:28,733 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:28,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-08 10:38:28,733 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1494387084] [2022-04-08 10:38:28,733 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:28,733 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 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 79 [2022-04-08 10:38:28,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:28,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:28,785 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:28,785 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-08 10:38:28,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:28,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-08 10:38:28,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1393, Invalid=6979, Unknown=0, NotChecked=0, Total=8372 [2022-04-08 10:38:28,786 INFO L87 Difference]: Start difference. First operand 92 states and 97 transitions. Second operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:31,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:31,951 INFO L93 Difference]: Finished difference Result 107 states and 112 transitions. [2022-04-08 10:38:31,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-08 10:38:31,951 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 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 79 [2022-04-08 10:38:31,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:31,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:31,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 104 transitions. [2022-04-08 10:38:31,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:31,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 104 transitions. [2022-04-08 10:38:31,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 104 transitions. [2022-04-08 10:38:32,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:32,037 INFO L225 Difference]: With dead ends: 107 [2022-04-08 10:38:32,037 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 10:38:32,038 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 101 SyntacticMatches, 5 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6825 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=2379, Invalid=12627, Unknown=0, NotChecked=0, Total=15006 [2022-04-08 10:38:32,038 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 109 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 932 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 970 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 932 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:32,038 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [112 Valid, 112 Invalid, 970 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 932 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 10:38:32,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 10:38:32,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 91. [2022-04-08 10:38:32,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:32,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:32,914 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:32,914 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:32,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:32,915 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2022-04-08 10:38:32,915 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-08 10:38:32,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:32,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:32,915 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:38:32,916 INFO L87 Difference]: Start difference. First operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:38:32,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:32,916 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2022-04-08 10:38:32,917 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-08 10:38:32,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:32,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:32,917 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:32,917 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:32,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 81 states have internal predecessors, (84), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:32,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 95 transitions. [2022-04-08 10:38:32,918 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 95 transitions. Word has length 79 [2022-04-08 10:38:32,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:32,918 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 95 transitions. [2022-04-08 10:38:32,918 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:32,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 95 transitions. [2022-04-08 10:38:33,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:33,110 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-08 10:38:33,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 10:38:33,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:33,111 INFO L499 BasicCegarLoop]: trace histogram [13, 13, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:33,128 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Forceful destruction successful, exit code 0 [2022-04-08 10:38:33,311 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable50,48 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:33,311 INFO L403 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:33,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:33,312 INFO L85 PathProgramCache]: Analyzing trace with hash 1521074453, now seen corresponding path program 45 times [2022-04-08 10:38:33,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:33,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1750256962] [2022-04-08 10:38:33,314 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:33,314 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:33,314 INFO L85 PathProgramCache]: Analyzing trace with hash 1521074453, now seen corresponding path program 46 times [2022-04-08 10:38:33,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:33,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1698470248] [2022-04-08 10:38:33,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:33,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:33,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:33,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:33,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:33,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {44050#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {43980#true} is VALID [2022-04-08 10:38:33,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-08 10:38:33,365 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-08 10:38:33,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:33,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:33,586 INFO L290 TraceCheckUtils]: 0: Hoare triple {43980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {44051#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:33,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {44051#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,588 INFO L290 TraceCheckUtils]: 3: Hoare triple {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,588 INFO L290 TraceCheckUtils]: 4: Hoare triple {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,589 INFO L290 TraceCheckUtils]: 6: Hoare triple {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,590 INFO L290 TraceCheckUtils]: 10: Hoare triple {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,591 INFO L290 TraceCheckUtils]: 11: Hoare triple {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,591 INFO L290 TraceCheckUtils]: 12: Hoare triple {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,592 INFO L290 TraceCheckUtils]: 15: Hoare triple {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,593 INFO L290 TraceCheckUtils]: 17: Hoare triple {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,595 INFO L290 TraceCheckUtils]: 21: Hoare triple {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,595 INFO L290 TraceCheckUtils]: 22: Hoare triple {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44064#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {44064#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} ~i~0 := 2 + ~i~0; {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,605 INFO L290 TraceCheckUtils]: 28: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} assume !(~i~0 < ~w); {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} #res := ~is_divisible~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,607 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44066#(<= 25 |correct_version_#in~w|)} {43980#true} #87#return; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:33,607 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:38:33,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:33,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {43980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {44067#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:33,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {44067#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:33,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:33,942 INFO L290 TraceCheckUtils]: 3: Hoare triple {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:33,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:33,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:33,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:33,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,946 INFO L290 TraceCheckUtils]: 14: Hoare triple {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:33,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:33,947 INFO L290 TraceCheckUtils]: 17: Hoare triple {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:33,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:33,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:33,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:33,949 INFO L290 TraceCheckUtils]: 21: Hoare triple {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:33,950 INFO L290 TraceCheckUtils]: 24: Hoare triple {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:33,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {44080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:38:33,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {44080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !(~i~1 < ~w); {44081#(and (<= student_version_~w 24) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,951 INFO L290 TraceCheckUtils]: 27: Hoare triple {44081#(and (<= student_version_~w 24) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,951 INFO L290 TraceCheckUtils]: 28: Hoare triple {44082#(<= |student_version_#in~w| 24)} #res := ~is_divisible~1; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,952 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {44082#(<= |student_version_#in~w| 24)} {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {43981#false} is VALID [2022-04-08 10:38:33,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {43980#true} call ULTIMATE.init(); {44050#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:33,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {44050#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L290 TraceCheckUtils]: 5: Hoare triple {43980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-08 10:38:33,953 INFO L272 TraceCheckUtils]: 7: Hoare triple {43980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:33,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {43980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {44051#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:33,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {44051#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,954 INFO L290 TraceCheckUtils]: 10: Hoare triple {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {44052#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,955 INFO L290 TraceCheckUtils]: 12: Hoare triple {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {44053#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {44054#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {44055#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {44056#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {44057#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,960 INFO L290 TraceCheckUtils]: 23: Hoare triple {44058#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {44059#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:33,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {44060#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,962 INFO L290 TraceCheckUtils]: 28: Hoare triple {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {44061#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,963 INFO L290 TraceCheckUtils]: 31: Hoare triple {44062#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,963 INFO L290 TraceCheckUtils]: 32: Hoare triple {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {44063#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {44064#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:33,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {44064#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} ~i~0 := 2 + ~i~0; {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} assume !(~i~0 < ~w); {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} is VALID [2022-04-08 10:38:33,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {44065#(and (= |correct_version_#in~w| correct_version_~w) (<= 25 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,965 INFO L290 TraceCheckUtils]: 38: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} #res := ~is_divisible~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,966 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:33,966 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44066#(<= 25 |correct_version_#in~w|)} {43980#true} #87#return; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:33,967 INFO L290 TraceCheckUtils]: 41: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:33,967 INFO L272 TraceCheckUtils]: 42: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:33,967 INFO L290 TraceCheckUtils]: 43: Hoare triple {43980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {44067#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:33,968 INFO L290 TraceCheckUtils]: 44: Hoare triple {44067#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:33,968 INFO L290 TraceCheckUtils]: 45: Hoare triple {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:33,968 INFO L290 TraceCheckUtils]: 46: Hoare triple {44068#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,969 INFO L290 TraceCheckUtils]: 47: Hoare triple {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {44069#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {44070#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:33,970 INFO L290 TraceCheckUtils]: 51: Hoare triple {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:33,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {44071#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,971 INFO L290 TraceCheckUtils]: 54: Hoare triple {44072#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:33,972 INFO L290 TraceCheckUtils]: 55: Hoare triple {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:33,972 INFO L290 TraceCheckUtils]: 56: Hoare triple {44073#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,973 INFO L290 TraceCheckUtils]: 57: Hoare triple {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,973 INFO L290 TraceCheckUtils]: 58: Hoare triple {44074#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:33,973 INFO L290 TraceCheckUtils]: 59: Hoare triple {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:33,974 INFO L290 TraceCheckUtils]: 60: Hoare triple {44075#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:33,974 INFO L290 TraceCheckUtils]: 61: Hoare triple {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:33,975 INFO L290 TraceCheckUtils]: 62: Hoare triple {44076#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:33,975 INFO L290 TraceCheckUtils]: 63: Hoare triple {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:33,975 INFO L290 TraceCheckUtils]: 64: Hoare triple {44077#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,976 INFO L290 TraceCheckUtils]: 65: Hoare triple {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,976 INFO L290 TraceCheckUtils]: 66: Hoare triple {44078#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:33,976 INFO L290 TraceCheckUtils]: 67: Hoare triple {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:33,977 INFO L290 TraceCheckUtils]: 68: Hoare triple {44079#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {44080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:38:33,977 INFO L290 TraceCheckUtils]: 69: Hoare triple {44080#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !(~i~1 < ~w); {44081#(and (<= student_version_~w 24) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:33,978 INFO L290 TraceCheckUtils]: 70: Hoare triple {44081#(and (<= student_version_~w 24) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,978 INFO L290 TraceCheckUtils]: 71: Hoare triple {44082#(<= |student_version_#in~w| 24)} #res := ~is_divisible~1; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,978 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:33,979 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {44082#(<= |student_version_#in~w| 24)} {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {43981#false} is VALID [2022-04-08 10:38:33,979 INFO L290 TraceCheckUtils]: 74: Hoare triple {43981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {43981#false} is VALID [2022-04-08 10:38:33,979 INFO L272 TraceCheckUtils]: 75: Hoare triple {43981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {43981#false} is VALID [2022-04-08 10:38:33,979 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-08 10:38:33,979 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-08 10:38:33,979 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-08 10:38:33,980 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 144 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:33,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:33,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1698470248] [2022-04-08 10:38:33,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1698470248] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:33,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1374317297] [2022-04-08 10:38:33,980 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:38:33,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:33,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:33,981 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:38:33,981 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2022-04-08 10:38:34,101 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:38:34,101 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:34,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 10:38:34,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:34,126 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:35,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {43980#true} call ULTIMATE.init(); {43980#true} is VALID [2022-04-08 10:38:35,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {43980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {43980#true} is VALID [2022-04-08 10:38:35,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {43980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L272 TraceCheckUtils]: 7: Hoare triple {43980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:35,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {43980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {44110#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {44110#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {44114#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,623 INFO L290 TraceCheckUtils]: 10: Hoare triple {44114#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {44114#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {44114#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44121#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,624 INFO L290 TraceCheckUtils]: 12: Hoare triple {44121#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {44121#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {44121#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44128#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {44128#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {44128#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {44128#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44135#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:35,625 INFO L290 TraceCheckUtils]: 16: Hoare triple {44135#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {44135#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:35,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {44135#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {44142#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {44142#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {44142#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {44142#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44149#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:35,627 INFO L290 TraceCheckUtils]: 20: Hoare triple {44149#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {44149#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:38:35,627 INFO L290 TraceCheckUtils]: 21: Hoare triple {44149#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {44156#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,628 INFO L290 TraceCheckUtils]: 22: Hoare triple {44156#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {44156#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {44156#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44163#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,628 INFO L290 TraceCheckUtils]: 24: Hoare triple {44163#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {44163#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {44163#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44170#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,629 INFO L290 TraceCheckUtils]: 26: Hoare triple {44170#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {44170#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {44170#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44177#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {44177#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {44177#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,630 INFO L290 TraceCheckUtils]: 29: Hoare triple {44177#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44184#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {44184#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {44184#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,631 INFO L290 TraceCheckUtils]: 31: Hoare triple {44184#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44191#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {44191#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {44191#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {44191#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {44198#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:38:35,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {44198#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,633 INFO L290 TraceCheckUtils]: 35: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,633 INFO L290 TraceCheckUtils]: 36: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume !(~i~0 < ~w); {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,633 INFO L290 TraceCheckUtils]: 37: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,634 INFO L290 TraceCheckUtils]: 38: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} #res := ~is_divisible~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:35,635 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44066#(<= 25 |correct_version_#in~w|)} {43980#true} #87#return; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:35,635 INFO L290 TraceCheckUtils]: 41: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:35,635 INFO L272 TraceCheckUtils]: 42: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:35,636 INFO L290 TraceCheckUtils]: 43: Hoare triple {43980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {44229#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:35,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {44229#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {44233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:35,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {44233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {44233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:38:35,637 INFO L290 TraceCheckUtils]: 46: Hoare triple {44233#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {44240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:38:35,637 INFO L290 TraceCheckUtils]: 47: Hoare triple {44240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {44240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:38:35,638 INFO L290 TraceCheckUtils]: 48: Hoare triple {44240#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {44247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:38:35,638 INFO L290 TraceCheckUtils]: 49: Hoare triple {44247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {44247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:38:35,638 INFO L290 TraceCheckUtils]: 50: Hoare triple {44247#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {44254#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:35,639 INFO L290 TraceCheckUtils]: 51: Hoare triple {44254#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {44254#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:38:35,639 INFO L290 TraceCheckUtils]: 52: Hoare triple {44254#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {44261#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:38:35,639 INFO L290 TraceCheckUtils]: 53: Hoare triple {44261#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {44261#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:38:35,640 INFO L290 TraceCheckUtils]: 54: Hoare triple {44261#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {44268#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:35,640 INFO L290 TraceCheckUtils]: 55: Hoare triple {44268#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {44268#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:38:35,641 INFO L290 TraceCheckUtils]: 56: Hoare triple {44268#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {44275#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:38:35,641 INFO L290 TraceCheckUtils]: 57: Hoare triple {44275#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {44275#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:38:35,641 INFO L290 TraceCheckUtils]: 58: Hoare triple {44275#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {44282#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:35,642 INFO L290 TraceCheckUtils]: 59: Hoare triple {44282#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {44282#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:38:35,642 INFO L290 TraceCheckUtils]: 60: Hoare triple {44282#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {44289#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:35,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {44289#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {44289#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:38:35,643 INFO L290 TraceCheckUtils]: 62: Hoare triple {44289#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {44296#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:35,643 INFO L290 TraceCheckUtils]: 63: Hoare triple {44296#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {44296#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:38:35,644 INFO L290 TraceCheckUtils]: 64: Hoare triple {44296#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {44303#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:38:35,644 INFO L290 TraceCheckUtils]: 65: Hoare triple {44303#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {44303#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:38:35,645 INFO L290 TraceCheckUtils]: 66: Hoare triple {44303#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {44310#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:35,645 INFO L290 TraceCheckUtils]: 67: Hoare triple {44310#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {44310#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:38:35,645 INFO L290 TraceCheckUtils]: 68: Hoare triple {44310#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {44317#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:38:35,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {44317#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !(~i~1 < ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:35,646 INFO L290 TraceCheckUtils]: 70: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume !(~i~1 != ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:35,646 INFO L290 TraceCheckUtils]: 71: Hoare triple {44082#(<= |student_version_#in~w| 24)} #res := ~is_divisible~1; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:35,647 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:35,648 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {44082#(<= |student_version_#in~w| 24)} {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L290 TraceCheckUtils]: 74: Hoare triple {43981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L272 TraceCheckUtils]: 75: Hoare triple {43981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-08 10:38:35,648 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 144 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:35,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:40,345 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-08 10:38:40,346 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-08 10:38:40,346 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-08 10:38:40,346 INFO L272 TraceCheckUtils]: 75: Hoare triple {43981#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {43981#false} is VALID [2022-04-08 10:38:40,346 INFO L290 TraceCheckUtils]: 74: Hoare triple {43981#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {43981#false} is VALID [2022-04-08 10:38:40,347 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {44082#(<= |student_version_#in~w| 24)} {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {43981#false} is VALID [2022-04-08 10:38:40,347 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:40,347 INFO L290 TraceCheckUtils]: 71: Hoare triple {44082#(<= |student_version_#in~w| 24)} #res := ~is_divisible~1; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:40,348 INFO L290 TraceCheckUtils]: 70: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume !(~i~1 != ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:40,348 INFO L290 TraceCheckUtils]: 69: Hoare triple {44378#(or (<= |student_version_#in~w| 24) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-08 10:38:40,348 INFO L290 TraceCheckUtils]: 68: Hoare triple {44382#(or (<= |student_version_#in~w| 24) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {44378#(or (<= |student_version_#in~w| 24) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:38:40,349 INFO L290 TraceCheckUtils]: 67: Hoare triple {44382#(or (<= |student_version_#in~w| 24) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {44382#(or (<= |student_version_#in~w| 24) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,349 INFO L290 TraceCheckUtils]: 66: Hoare triple {44389#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {44382#(or (<= |student_version_#in~w| 24) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,350 INFO L290 TraceCheckUtils]: 65: Hoare triple {44389#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {44389#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:38:40,350 INFO L290 TraceCheckUtils]: 64: Hoare triple {44396#(or (<= |student_version_#in~w| 24) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {44389#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:38:40,350 INFO L290 TraceCheckUtils]: 63: Hoare triple {44396#(or (<= |student_version_#in~w| 24) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {44396#(or (<= |student_version_#in~w| 24) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,351 INFO L290 TraceCheckUtils]: 62: Hoare triple {44403#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {44396#(or (<= |student_version_#in~w| 24) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,351 INFO L290 TraceCheckUtils]: 61: Hoare triple {44403#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {44403#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:38:40,352 INFO L290 TraceCheckUtils]: 60: Hoare triple {44410#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {44403#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:38:40,352 INFO L290 TraceCheckUtils]: 59: Hoare triple {44410#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {44410#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:38:40,352 INFO L290 TraceCheckUtils]: 58: Hoare triple {44417#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {44410#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:38:40,353 INFO L290 TraceCheckUtils]: 57: Hoare triple {44417#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {44417#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:38:40,353 INFO L290 TraceCheckUtils]: 56: Hoare triple {44424#(or (<= |student_version_#in~w| 24) (< (+ 14 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {44417#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:38:40,354 INFO L290 TraceCheckUtils]: 55: Hoare triple {44424#(or (<= |student_version_#in~w| 24) (< (+ 14 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {44424#(or (<= |student_version_#in~w| 24) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,354 INFO L290 TraceCheckUtils]: 54: Hoare triple {44431#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 24))} ~i~1 := 2 + ~i~1; {44424#(or (<= |student_version_#in~w| 24) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,354 INFO L290 TraceCheckUtils]: 53: Hoare triple {44431#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 24))} assume !!(~i~1 < ~w); {44431#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,355 INFO L290 TraceCheckUtils]: 52: Hoare triple {44438#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 24))} ~i~1 := 2 + ~i~1; {44431#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,355 INFO L290 TraceCheckUtils]: 51: Hoare triple {44438#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 24))} assume !!(~i~1 < ~w); {44438#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,356 INFO L290 TraceCheckUtils]: 50: Hoare triple {44445#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 24))} ~i~1 := 2 + ~i~1; {44438#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,356 INFO L290 TraceCheckUtils]: 49: Hoare triple {44445#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 24))} assume !!(~i~1 < ~w); {44445#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {44452#(or (<= |student_version_#in~w| 24) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {44445#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 24))} is VALID [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 47: Hoare triple {44452#(or (<= |student_version_#in~w| 24) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {44452#(or (<= |student_version_#in~w| 24) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,357 INFO L290 TraceCheckUtils]: 46: Hoare triple {44459#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {44452#(or (<= |student_version_#in~w| 24) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:38:40,358 INFO L290 TraceCheckUtils]: 45: Hoare triple {44459#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {44459#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:38:40,358 INFO L290 TraceCheckUtils]: 44: Hoare triple {44466#(or (<= |student_version_#in~w| 24) (< 24 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {44459#(or (<= |student_version_#in~w| 24) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:38:40,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {43980#true} ~w := #in~w;~is_divisible~1 := ~true~0; {44466#(or (<= |student_version_#in~w| 24) (< 24 student_version_~w))} is VALID [2022-04-08 10:38:40,358 INFO L272 TraceCheckUtils]: 42: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:40,359 INFO L290 TraceCheckUtils]: 41: Hoare triple {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:40,360 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {44066#(<= 25 |correct_version_#in~w|)} {43980#true} #87#return; {44018#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 25) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:38:40,360 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,360 INFO L290 TraceCheckUtils]: 38: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} #res := ~is_divisible~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,361 INFO L290 TraceCheckUtils]: 37: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,361 INFO L290 TraceCheckUtils]: 36: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume !(~i~0 < ~w); {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,361 INFO L290 TraceCheckUtils]: 35: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,362 INFO L290 TraceCheckUtils]: 34: Hoare triple {44497#(or (<= 25 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} assume !!(~i~0 < ~w); {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-08 10:38:40,362 INFO L290 TraceCheckUtils]: 33: Hoare triple {44501#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} ~i~0 := 2 + ~i~0; {44497#(or (<= 25 |correct_version_#in~w|) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:38:40,362 INFO L290 TraceCheckUtils]: 32: Hoare triple {44501#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} assume !!(~i~0 < ~w); {44501#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:38:40,363 INFO L290 TraceCheckUtils]: 31: Hoare triple {44508#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 25 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {44501#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 2)))} is VALID [2022-04-08 10:38:40,363 INFO L290 TraceCheckUtils]: 30: Hoare triple {44508#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 25 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {44508#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 25 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:40,364 INFO L290 TraceCheckUtils]: 29: Hoare triple {44515#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {44508#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 25 |correct_version_#in~w|))} is VALID [2022-04-08 10:38:40,364 INFO L290 TraceCheckUtils]: 28: Hoare triple {44515#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {44515#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:38:40,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {44522#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} ~i~0 := 2 + ~i~0; {44515#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:38:40,365 INFO L290 TraceCheckUtils]: 26: Hoare triple {44522#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} assume !!(~i~0 < ~w); {44522#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:38:40,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {44529#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {44522#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:38:40,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {44529#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {44529#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:38:40,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {44536#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {44529#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:38:40,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {44536#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {44536#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:38:40,367 INFO L290 TraceCheckUtils]: 21: Hoare triple {44543#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {44536#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:38:40,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {44543#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {44543#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:38:40,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {44550#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {44543#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:38:40,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {44550#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {44550#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:38:40,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {44557#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {44550#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:38:40,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {44557#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {44557#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:38:40,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {44564#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} ~i~0 := 2 + ~i~0; {44557#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:38:40,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {44564#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} assume !!(~i~0 < ~w); {44564#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} is VALID [2022-04-08 10:38:40,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {44571#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {44564#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 20)))} is VALID [2022-04-08 10:38:40,370 INFO L290 TraceCheckUtils]: 12: Hoare triple {44571#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {44571#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:38:40,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {44578#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {44571#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:38:40,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {44578#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {44578#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:38:40,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {44585#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w 24))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {44578#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:38:40,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {43980#true} ~w := #in~w;~is_divisible~0 := ~true~0; {44585#(or (<= 25 |correct_version_#in~w|) (<= correct_version_~w 24))} is VALID [2022-04-08 10:38:40,372 INFO L272 TraceCheckUtils]: 7: Hoare triple {43980#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {43980#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {43980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {43980#true} is VALID [2022-04-08 10:38:40,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {43980#true} call ULTIMATE.init(); {43980#true} is VALID [2022-04-08 10:38:40,373 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 169 proven. 144 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:40,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1374317297] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:40,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:40,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 33, 33] total 92 [2022-04-08 10:38:40,373 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:40,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1750256962] [2022-04-08 10:38:40,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1750256962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:40,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:40,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-08 10:38:40,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [882583452] [2022-04-08 10:38:40,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:40,374 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 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 79 [2022-04-08 10:38:40,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:40,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:40,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:40,432 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-08 10:38:40,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:40,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-08 10:38:40,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1393, Invalid=6979, Unknown=0, NotChecked=0, Total=8372 [2022-04-08 10:38:40,433 INFO L87 Difference]: Start difference. First operand 91 states and 95 transitions. Second operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:43,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:43,014 INFO L93 Difference]: Finished difference Result 101 states and 104 transitions. [2022-04-08 10:38:43,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-08 10:38:43,014 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 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 79 [2022-04-08 10:38:43,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:38:43,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:43,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 96 transitions. [2022-04-08 10:38:43,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:43,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 96 transitions. [2022-04-08 10:38:43,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 96 transitions. [2022-04-08 10:38:43,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:43,107 INFO L225 Difference]: With dead ends: 101 [2022-04-08 10:38:43,107 INFO L226 Difference]: Without dead ends: 91 [2022-04-08 10:38:43,108 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 101 SyntacticMatches, 5 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6748 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=2379, Invalid=12627, Unknown=0, NotChecked=0, Total=15006 [2022-04-08 10:38:43,108 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 114 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 601 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 115 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 641 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 601 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:38:43,109 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [115 Valid, 70 Invalid, 641 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 601 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:38:43,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-08 10:38:43,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 90. [2022-04-08 10:38:43,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:38:43,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:43,957 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:43,957 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:43,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:43,958 INFO L93 Difference]: Finished difference Result 91 states and 94 transitions. [2022-04-08 10:38:43,958 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 94 transitions. [2022-04-08 10:38:43,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:43,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:43,958 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:38:43,958 INFO L87 Difference]: Start difference. First operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 91 states. [2022-04-08 10:38:43,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:38:43,959 INFO L93 Difference]: Finished difference Result 91 states and 94 transitions. [2022-04-08 10:38:43,959 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 94 transitions. [2022-04-08 10:38:43,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:38:43,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:38:43,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:38:43,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:38:43,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 78 states have (on average 1.0512820512820513) internal successors, (82), 80 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:38:43,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 93 transitions. [2022-04-08 10:38:43,960 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 93 transitions. Word has length 79 [2022-04-08 10:38:43,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:38:43,960 INFO L478 AbstractCegarLoop]: Abstraction has 90 states and 93 transitions. [2022-04-08 10:38:43,961 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.9722222222222223) internal successors, (71), 35 states have internal predecessors, (71), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:43,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 90 states and 93 transitions. [2022-04-08 10:38:44,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:44,147 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 93 transitions. [2022-04-08 10:38:44,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 10:38:44,147 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:38:44,147 INFO L499 BasicCegarLoop]: trace histogram [13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:38:44,164 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Forceful destruction successful, exit code 0 [2022-04-08 10:38:44,348 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable51,49 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:44,348 INFO L403 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:38:44,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:38:44,348 INFO L85 PathProgramCache]: Analyzing trace with hash -284558569, now seen corresponding path program 47 times [2022-04-08 10:38:44,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:44,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1113809442] [2022-04-08 10:38:44,351 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:38:44,351 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:38:44,351 INFO L85 PathProgramCache]: Analyzing trace with hash -284558569, now seen corresponding path program 48 times [2022-04-08 10:38:44,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:38:44,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [807682521] [2022-04-08 10:38:44,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:38:44,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:38:44,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:44,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:38:44,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:44,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {45310#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {45238#true} is VALID [2022-04-08 10:38:44,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-08 10:38:44,403 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-08 10:38:44,403 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:38:44,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:44,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {45238#true} ~w := #in~w;~is_divisible~0 := ~true~0; {45311#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:44,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {45311#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,705 INFO L290 TraceCheckUtils]: 4: Hoare triple {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,706 INFO L290 TraceCheckUtils]: 6: Hoare triple {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:44,708 INFO L290 TraceCheckUtils]: 10: Hoare triple {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:44,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:44,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:44,712 INFO L290 TraceCheckUtils]: 17: Hoare triple {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,712 INFO L290 TraceCheckUtils]: 18: Hoare triple {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:44,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:44,714 INFO L290 TraceCheckUtils]: 21: Hoare triple {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,714 INFO L290 TraceCheckUtils]: 22: Hoare triple {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,717 INFO L290 TraceCheckUtils]: 27: Hoare triple {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45325#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,717 INFO L290 TraceCheckUtils]: 28: Hoare triple {45325#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {45326#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:44,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {45326#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:44,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {45327#(<= |correct_version_#in~w| 25)} #res := ~is_divisible~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:44,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:44,720 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {45327#(<= |correct_version_#in~w| 25)} {45238#true} #87#return; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:44,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:38:44,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:45,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {45238#true} ~w := #in~w;~is_divisible~1 := ~true~0; {45328#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:45,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {45328#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,001 INFO L290 TraceCheckUtils]: 3: Hoare triple {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,002 INFO L290 TraceCheckUtils]: 4: Hoare triple {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:45,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:45,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:45,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:45,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:45,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:45,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,005 INFO L290 TraceCheckUtils]: 12: Hoare triple {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:45,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:45,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,008 INFO L290 TraceCheckUtils]: 21: Hoare triple {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:45,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:45,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,012 INFO L290 TraceCheckUtils]: 29: Hoare triple {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {45343#(<= 26 |student_version_#in~w|)} #res := ~is_divisible~1; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,013 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {45343#(<= 26 |student_version_#in~w|)} {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} #89#return; {45239#false} is VALID [2022-04-08 10:38:45,014 INFO L272 TraceCheckUtils]: 0: Hoare triple {45238#true} call ULTIMATE.init(); {45310#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:38:45,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {45310#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {45238#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L272 TraceCheckUtils]: 7: Hoare triple {45238#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:45,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {45238#true} ~w := #in~w;~is_divisible~0 := ~true~0; {45311#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:45,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {45311#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,015 INFO L290 TraceCheckUtils]: 10: Hoare triple {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {45312#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {45313#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {45314#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {45315#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:45,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:45,019 INFO L290 TraceCheckUtils]: 19: Hoare triple {45316#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {45317#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {45318#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:45,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:45,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {45319#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,021 INFO L290 TraceCheckUtils]: 26: Hoare triple {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {45320#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:45,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:45,023 INFO L290 TraceCheckUtils]: 29: Hoare triple {45321#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {45322#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,024 INFO L290 TraceCheckUtils]: 33: Hoare triple {45323#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,024 INFO L290 TraceCheckUtils]: 34: Hoare triple {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {45324#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {45325#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {45325#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {45326#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:38:45,026 INFO L290 TraceCheckUtils]: 37: Hoare triple {45326#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 26)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:45,026 INFO L290 TraceCheckUtils]: 38: Hoare triple {45327#(<= |correct_version_#in~w| 25)} #res := ~is_divisible~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:45,026 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:45,027 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {45327#(<= |correct_version_#in~w| 25)} {45238#true} #87#return; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:45,028 INFO L290 TraceCheckUtils]: 41: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:45,028 INFO L272 TraceCheckUtils]: 42: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:45,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {45238#true} ~w := #in~w;~is_divisible~1 := ~true~0; {45328#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:38:45,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {45328#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,029 INFO L290 TraceCheckUtils]: 45: Hoare triple {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,029 INFO L290 TraceCheckUtils]: 46: Hoare triple {45329#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,029 INFO L290 TraceCheckUtils]: 47: Hoare triple {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,030 INFO L290 TraceCheckUtils]: 48: Hoare triple {45330#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:45,030 INFO L290 TraceCheckUtils]: 49: Hoare triple {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:45,031 INFO L290 TraceCheckUtils]: 50: Hoare triple {45331#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:45,031 INFO L290 TraceCheckUtils]: 51: Hoare triple {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:38:45,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {45332#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:45,032 INFO L290 TraceCheckUtils]: 53: Hoare triple {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:38:45,032 INFO L290 TraceCheckUtils]: 54: Hoare triple {45333#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,032 INFO L290 TraceCheckUtils]: 55: Hoare triple {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,033 INFO L290 TraceCheckUtils]: 56: Hoare triple {45334#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:45,033 INFO L290 TraceCheckUtils]: 57: Hoare triple {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:38:45,034 INFO L290 TraceCheckUtils]: 58: Hoare triple {45335#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,034 INFO L290 TraceCheckUtils]: 59: Hoare triple {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,034 INFO L290 TraceCheckUtils]: 60: Hoare triple {45336#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,035 INFO L290 TraceCheckUtils]: 61: Hoare triple {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,035 INFO L290 TraceCheckUtils]: 62: Hoare triple {45337#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,036 INFO L290 TraceCheckUtils]: 63: Hoare triple {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,036 INFO L290 TraceCheckUtils]: 64: Hoare triple {45338#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:45,036 INFO L290 TraceCheckUtils]: 65: Hoare triple {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:38:45,037 INFO L290 TraceCheckUtils]: 66: Hoare triple {45339#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,037 INFO L290 TraceCheckUtils]: 67: Hoare triple {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,038 INFO L290 TraceCheckUtils]: 68: Hoare triple {45340#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,038 INFO L290 TraceCheckUtils]: 69: Hoare triple {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,038 INFO L290 TraceCheckUtils]: 70: Hoare triple {45341#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,039 INFO L290 TraceCheckUtils]: 71: Hoare triple {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:38:45,039 INFO L290 TraceCheckUtils]: 72: Hoare triple {45342#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,039 INFO L290 TraceCheckUtils]: 73: Hoare triple {45343#(<= 26 |student_version_#in~w|)} #res := ~is_divisible~1; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:45,040 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {45343#(<= 26 |student_version_#in~w|)} {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} #89#return; {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L290 TraceCheckUtils]: 76: Hoare triple {45239#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L272 TraceCheckUtils]: 77: Hoare triple {45239#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-08 10:38:45,041 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:45,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:38:45,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [807682521] [2022-04-08 10:38:45,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [807682521] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:38:45,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435765785] [2022-04-08 10:38:45,042 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:38:45,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:38:45,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:38:45,043 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:38:45,044 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2022-04-08 10:38:45,184 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-04-08 10:38:45,185 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:38:45,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 10:38:45,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:38:45,205 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:38:46,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {45238#true} call ULTIMATE.init(); {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {45238#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {45238#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L272 TraceCheckUtils]: 7: Hoare triple {45238#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:46,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {45238#true} ~w := #in~w;~is_divisible~0 := ~true~0; {45371#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:38:46,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {45371#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {45375#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:38:46,635 INFO L290 TraceCheckUtils]: 10: Hoare triple {45375#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {45375#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:38:46,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {45375#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {45382#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:38:46,636 INFO L290 TraceCheckUtils]: 12: Hoare triple {45382#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {45382#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:38:46,645 INFO L290 TraceCheckUtils]: 13: Hoare triple {45382#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {45389#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:38:46,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {45389#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {45389#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:38:46,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {45389#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {45396#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:38:46,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {45396#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {45396#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:38:46,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {45396#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {45403#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:46,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {45403#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {45403#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:38:46,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {45403#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {45410#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:38:46,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {45410#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {45410#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:38:46,648 INFO L290 TraceCheckUtils]: 21: Hoare triple {45410#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {45417#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:38:46,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {45417#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {45417#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:38:46,649 INFO L290 TraceCheckUtils]: 23: Hoare triple {45417#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {45424#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:46,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {45424#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {45424#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:38:46,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {45424#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {45431#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:38:46,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {45431#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {45431#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:38:46,651 INFO L290 TraceCheckUtils]: 27: Hoare triple {45431#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {45438#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:46,651 INFO L290 TraceCheckUtils]: 28: Hoare triple {45438#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {45438#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:38:46,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {45438#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {45445#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:38:46,652 INFO L290 TraceCheckUtils]: 30: Hoare triple {45445#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {45445#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:38:46,652 INFO L290 TraceCheckUtils]: 31: Hoare triple {45445#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {45452#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:38:46,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {45452#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {45452#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:38:46,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {45452#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {45459#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:38:46,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {45459#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {45459#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:38:46,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {45459#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {45466#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:38:46,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {45466#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !(~i~0 < ~w); {45470#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:38:46,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {45470#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 26))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:46,655 INFO L290 TraceCheckUtils]: 38: Hoare triple {45327#(<= |correct_version_#in~w| 25)} #res := ~is_divisible~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:46,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:46,656 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {45327#(<= |correct_version_#in~w| 25)} {45238#true} #87#return; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:46,657 INFO L290 TraceCheckUtils]: 41: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:46,657 INFO L272 TraceCheckUtils]: 42: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:46,657 INFO L290 TraceCheckUtils]: 43: Hoare triple {45238#true} ~w := #in~w;~is_divisible~1 := ~true~0; {45492#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:38:46,657 INFO L290 TraceCheckUtils]: 44: Hoare triple {45492#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {45496#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {45496#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45496#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,658 INFO L290 TraceCheckUtils]: 46: Hoare triple {45496#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45503#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,659 INFO L290 TraceCheckUtils]: 47: Hoare triple {45503#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45503#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,659 INFO L290 TraceCheckUtils]: 48: Hoare triple {45503#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45510#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:46,659 INFO L290 TraceCheckUtils]: 49: Hoare triple {45510#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {45510#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:38:46,660 INFO L290 TraceCheckUtils]: 50: Hoare triple {45510#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {45517#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,660 INFO L290 TraceCheckUtils]: 51: Hoare triple {45517#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45517#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,661 INFO L290 TraceCheckUtils]: 52: Hoare triple {45517#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45524#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,661 INFO L290 TraceCheckUtils]: 53: Hoare triple {45524#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45524#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,661 INFO L290 TraceCheckUtils]: 54: Hoare triple {45524#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45531#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,662 INFO L290 TraceCheckUtils]: 55: Hoare triple {45531#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45531#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,662 INFO L290 TraceCheckUtils]: 56: Hoare triple {45531#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45538#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,663 INFO L290 TraceCheckUtils]: 57: Hoare triple {45538#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45538#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,663 INFO L290 TraceCheckUtils]: 58: Hoare triple {45538#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45545#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,663 INFO L290 TraceCheckUtils]: 59: Hoare triple {45545#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45545#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,664 INFO L290 TraceCheckUtils]: 60: Hoare triple {45545#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45552#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,664 INFO L290 TraceCheckUtils]: 61: Hoare triple {45552#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45552#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,665 INFO L290 TraceCheckUtils]: 62: Hoare triple {45552#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45559#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,665 INFO L290 TraceCheckUtils]: 63: Hoare triple {45559#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45559#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,666 INFO L290 TraceCheckUtils]: 64: Hoare triple {45559#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45566#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,666 INFO L290 TraceCheckUtils]: 65: Hoare triple {45566#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45566#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,666 INFO L290 TraceCheckUtils]: 66: Hoare triple {45566#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45573#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,667 INFO L290 TraceCheckUtils]: 67: Hoare triple {45573#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45573#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,667 INFO L290 TraceCheckUtils]: 68: Hoare triple {45573#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45580#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,667 INFO L290 TraceCheckUtils]: 69: Hoare triple {45580#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {45580#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,668 INFO L290 TraceCheckUtils]: 70: Hoare triple {45580#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45587#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,668 INFO L290 TraceCheckUtils]: 71: Hoare triple {45587#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {45587#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:38:46,669 INFO L290 TraceCheckUtils]: 72: Hoare triple {45587#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:46,669 INFO L290 TraceCheckUtils]: 73: Hoare triple {45343#(<= 26 |student_version_#in~w|)} #res := ~is_divisible~1; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:46,669 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:46,670 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {45343#(<= 26 |student_version_#in~w|)} {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} #89#return; {45239#false} is VALID [2022-04-08 10:38:46,670 INFO L290 TraceCheckUtils]: 76: Hoare triple {45239#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {45239#false} is VALID [2022-04-08 10:38:46,670 INFO L272 TraceCheckUtils]: 77: Hoare triple {45239#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {45239#false} is VALID [2022-04-08 10:38:46,670 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-08 10:38:46,671 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-08 10:38:46,671 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-08 10:38:46,671 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:46,671 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:38:57,179 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-08 10:38:57,180 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-08 10:38:57,180 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-08 10:38:57,180 INFO L272 TraceCheckUtils]: 77: Hoare triple {45239#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {45239#false} is VALID [2022-04-08 10:38:57,180 INFO L290 TraceCheckUtils]: 76: Hoare triple {45239#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {45239#false} is VALID [2022-04-08 10:38:57,181 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {45343#(<= 26 |student_version_#in~w|)} {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} #89#return; {45239#false} is VALID [2022-04-08 10:38:57,181 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:57,181 INFO L290 TraceCheckUtils]: 73: Hoare triple {45343#(<= 26 |student_version_#in~w|)} #res := ~is_divisible~1; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:57,182 INFO L290 TraceCheckUtils]: 72: Hoare triple {45645#(or (<= 26 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-08 10:38:57,182 INFO L290 TraceCheckUtils]: 71: Hoare triple {45645#(or (<= 26 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {45645#(or (<= 26 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:38:57,182 INFO L290 TraceCheckUtils]: 70: Hoare triple {45652#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {45645#(or (<= 26 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:38:57,183 INFO L290 TraceCheckUtils]: 69: Hoare triple {45652#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {45652#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,183 INFO L290 TraceCheckUtils]: 68: Hoare triple {45659#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 26 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45652#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,184 INFO L290 TraceCheckUtils]: 67: Hoare triple {45659#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 26 |student_version_#in~w|))} assume !!(~i~1 < ~w); {45659#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,184 INFO L290 TraceCheckUtils]: 66: Hoare triple {45666#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 26 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45659#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,184 INFO L290 TraceCheckUtils]: 65: Hoare triple {45666#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 26 |student_version_#in~w|))} assume !!(~i~1 < ~w); {45666#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {45673#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {45666#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,185 INFO L290 TraceCheckUtils]: 63: Hoare triple {45673#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {45673#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:38:57,186 INFO L290 TraceCheckUtils]: 62: Hoare triple {45680#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 26 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45673#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:38:57,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {45680#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 26 |student_version_#in~w|))} assume !!(~i~1 < ~w); {45680#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,186 INFO L290 TraceCheckUtils]: 60: Hoare triple {45687#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {45680#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,187 INFO L290 TraceCheckUtils]: 59: Hoare triple {45687#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {45687#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:38:57,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {45694#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 26 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {45687#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:38:57,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {45694#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 26 |student_version_#in~w|))} assume !!(~i~1 < ~w); {45694#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,188 INFO L290 TraceCheckUtils]: 56: Hoare triple {45701#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {45694#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 26 |student_version_#in~w|))} is VALID [2022-04-08 10:38:57,188 INFO L290 TraceCheckUtils]: 55: Hoare triple {45701#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {45701#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,189 INFO L290 TraceCheckUtils]: 54: Hoare triple {45708#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {45701#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,189 INFO L290 TraceCheckUtils]: 53: Hoare triple {45708#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {45708#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:38:57,190 INFO L290 TraceCheckUtils]: 52: Hoare triple {45715#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {45708#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:38:57,190 INFO L290 TraceCheckUtils]: 51: Hoare triple {45715#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {45715#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:38:57,190 INFO L290 TraceCheckUtils]: 50: Hoare triple {45722#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {45715#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:38:57,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {45722#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {45722#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,191 INFO L290 TraceCheckUtils]: 48: Hoare triple {45729#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} ~i~1 := 2 + ~i~1; {45722#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:38:57,192 INFO L290 TraceCheckUtils]: 47: Hoare triple {45729#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} assume !!(~i~1 < ~w); {45729#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:38:57,192 INFO L290 TraceCheckUtils]: 46: Hoare triple {45736#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} ~i~1 := 2 + ~i~1; {45729#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-08 10:38:57,192 INFO L290 TraceCheckUtils]: 45: Hoare triple {45736#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} assume !!(~i~1 < ~w); {45736#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} is VALID [2022-04-08 10:38:57,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {45743#(or (<= 26 |student_version_#in~w|) (< student_version_~w 26))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {45736#(or (<= 26 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} is VALID [2022-04-08 10:38:57,193 INFO L290 TraceCheckUtils]: 43: Hoare triple {45238#true} ~w := #in~w;~is_divisible~1 := ~true~0; {45743#(or (<= 26 |student_version_#in~w|) (< student_version_~w 26))} is VALID [2022-04-08 10:38:57,193 INFO L272 TraceCheckUtils]: 42: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:57,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:57,194 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {45327#(<= |correct_version_#in~w| 25)} {45238#true} #87#return; {45276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 25)))} is VALID [2022-04-08 10:38:57,195 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:57,195 INFO L290 TraceCheckUtils]: 38: Hoare triple {45327#(<= |correct_version_#in~w| 25)} #res := ~is_divisible~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:57,195 INFO L290 TraceCheckUtils]: 37: Hoare triple {45765#(or (<= |correct_version_#in~w| 25) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-08 10:38:57,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {45769#(or (<= |correct_version_#in~w| 25) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {45765#(or (<= |correct_version_#in~w| 25) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:38:57,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {45773#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {45769#(or (<= |correct_version_#in~w| 25) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:38:57,196 INFO L290 TraceCheckUtils]: 34: Hoare triple {45773#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {45773#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:38:57,197 INFO L290 TraceCheckUtils]: 33: Hoare triple {45780#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {45773#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:38:57,197 INFO L290 TraceCheckUtils]: 32: Hoare triple {45780#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {45780#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:38:57,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {45787#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {45780#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:38:57,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {45787#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {45787#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:38:57,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {45794#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {45787#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:38:57,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {45794#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {45794#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:38:57,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {45801#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {45794#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:38:57,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {45801#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {45801#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:38:57,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {45808#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {45801#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:38:57,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {45808#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {45808#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:38:57,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {45815#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {45808#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:38:57,201 INFO L290 TraceCheckUtils]: 22: Hoare triple {45815#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {45815#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:38:57,202 INFO L290 TraceCheckUtils]: 21: Hoare triple {45822#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {45815#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:38:57,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {45822#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {45822#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:38:57,202 INFO L290 TraceCheckUtils]: 19: Hoare triple {45829#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {45822#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:38:57,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {45829#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {45829#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:38:57,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {45836#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {45829#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:38:57,203 INFO L290 TraceCheckUtils]: 16: Hoare triple {45836#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {45836#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:38:57,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {45843#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {45836#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-08 10:38:57,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {45843#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {45843#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:38:57,205 INFO L290 TraceCheckUtils]: 13: Hoare triple {45850#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 24) correct_version_~w))} ~i~0 := 2 + ~i~0; {45843#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:38:57,205 INFO L290 TraceCheckUtils]: 12: Hoare triple {45850#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 24) correct_version_~w))} assume !!(~i~0 < ~w); {45850#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 24) correct_version_~w))} is VALID [2022-04-08 10:38:57,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {45857#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 26) correct_version_~w))} ~i~0 := 2 + ~i~0; {45850#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 24) correct_version_~w))} is VALID [2022-04-08 10:38:57,206 INFO L290 TraceCheckUtils]: 10: Hoare triple {45857#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 26) correct_version_~w))} assume !!(~i~0 < ~w); {45857#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-08 10:38:57,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {45864#(or (<= |correct_version_#in~w| 25) (<= 26 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {45857#(or (<= |correct_version_#in~w| 25) (<= (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-08 10:38:57,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {45238#true} ~w := #in~w;~is_divisible~0 := ~true~0; {45864#(or (<= |correct_version_#in~w| 25) (<= 26 correct_version_~w))} is VALID [2022-04-08 10:38:57,207 INFO L272 TraceCheckUtils]: 7: Hoare triple {45238#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {45238#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {45238#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {45238#true} call ULTIMATE.init(); {45238#true} is VALID [2022-04-08 10:38:57,207 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:38:57,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435765785] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:38:57,207 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:38:57,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 99 [2022-04-08 10:38:57,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:38:57,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1113809442] [2022-04-08 10:38:57,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1113809442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:38:57,208 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:38:57,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-08 10:38:57,208 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939121386] [2022-04-08 10:38:57,208 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:38:57,209 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 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 81 [2022-04-08 10:38:57,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:38:57,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:38:57,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:38:57,261 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-08 10:38:57,261 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:38:57,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-08 10:38:57,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1559, Invalid=8143, Unknown=0, NotChecked=0, Total=9702 [2022-04-08 10:38:57,263 INFO L87 Difference]: Start difference. First operand 90 states and 93 transitions. Second operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:00,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:00,480 INFO L93 Difference]: Finished difference Result 110 states and 117 transitions. [2022-04-08 10:39:00,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-04-08 10:39:00,480 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 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 81 [2022-04-08 10:39:00,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:00,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:00,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2022-04-08 10:39:00,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:00,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2022-04-08 10:39:00,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 112 transitions. [2022-04-08 10:39:00,577 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-08 10:39:00,579 INFO L225 Difference]: With dead ends: 110 [2022-04-08 10:39:00,579 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 10:39:00,580 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 99 SyntacticMatches, 5 SemanticMatches, 131 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7882 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=2687, Invalid=14869, Unknown=0, NotChecked=0, Total=17556 [2022-04-08 10:39:00,580 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 83 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 836 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 877 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 836 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:00,580 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [87 Valid, 92 Invalid, 877 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 836 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 10:39:00,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 10:39:01,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 93. [2022-04-08 10:39:01,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:01,500 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:01,500 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:01,500 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:01,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:01,501 INFO L93 Difference]: Finished difference Result 99 states and 105 transitions. [2022-04-08 10:39:01,501 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 105 transitions. [2022-04-08 10:39:01,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:01,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:01,502 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:39:01,502 INFO L87 Difference]: Start difference. First operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:39:01,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:01,504 INFO L93 Difference]: Finished difference Result 99 states and 105 transitions. [2022-04-08 10:39:01,504 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 105 transitions. [2022-04-08 10:39:01,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:01,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:01,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:01,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:01,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 81 states have (on average 1.0617283950617284) internal successors, (86), 83 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:01,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 97 transitions. [2022-04-08 10:39:01,506 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 97 transitions. Word has length 81 [2022-04-08 10:39:01,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:01,506 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 97 transitions. [2022-04-08 10:39:01,506 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:01,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 97 transitions. [2022-04-08 10:39:01,707 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:01,707 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 97 transitions. [2022-04-08 10:39:01,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 10:39:01,708 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:01,708 INFO L499 BasicCegarLoop]: trace histogram [13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:01,726 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:01,908 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-08 10:39:01,908 INFO L403 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:01,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:01,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1280962515, now seen corresponding path program 47 times [2022-04-08 10:39:01,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:01,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1424127289] [2022-04-08 10:39:01,911 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:01,911 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:01,911 INFO L85 PathProgramCache]: Analyzing trace with hash 1280962515, now seen corresponding path program 48 times [2022-04-08 10:39:01,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:01,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [389886741] [2022-04-08 10:39:01,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:01,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:01,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:01,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:01,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:01,962 INFO L290 TraceCheckUtils]: 0: Hoare triple {46635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {46563#true} is VALID [2022-04-08 10:39:01,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-08 10:39:01,962 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-08 10:39:01,962 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:01,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {46563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {46636#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:02,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {46636#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,202 INFO L290 TraceCheckUtils]: 3: Hoare triple {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,202 INFO L290 TraceCheckUtils]: 4: Hoare triple {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,203 INFO L290 TraceCheckUtils]: 6: Hoare triple {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,205 INFO L290 TraceCheckUtils]: 10: Hoare triple {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,205 INFO L290 TraceCheckUtils]: 12: Hoare triple {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,206 INFO L290 TraceCheckUtils]: 14: Hoare triple {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,208 INFO L290 TraceCheckUtils]: 19: Hoare triple {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,208 INFO L290 TraceCheckUtils]: 20: Hoare triple {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,210 INFO L290 TraceCheckUtils]: 25: Hoare triple {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,212 INFO L290 TraceCheckUtils]: 28: Hoare triple {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !(~i~0 < ~w); {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,212 INFO L290 TraceCheckUtils]: 29: Hoare triple {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !(~i~0 != ~w); {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} #res := ~is_divisible~0; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,212 INFO L290 TraceCheckUtils]: 31: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,213 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {46651#(<= 26 |correct_version_#in~w|)} {46563#true} #87#return; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:02,214 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:39:02,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {46563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {46652#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:02,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {46652#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:02,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:02,573 INFO L290 TraceCheckUtils]: 3: Hoare triple {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,573 INFO L290 TraceCheckUtils]: 4: Hoare triple {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:02,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:02,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,576 INFO L290 TraceCheckUtils]: 10: Hoare triple {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,576 INFO L290 TraceCheckUtils]: 11: Hoare triple {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:02,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:02,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:02,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:02,578 INFO L290 TraceCheckUtils]: 17: Hoare triple {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:02,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:02,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:02,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:02,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:02,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:02,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:02,582 INFO L290 TraceCheckUtils]: 26: Hoare triple {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:02,582 INFO L290 TraceCheckUtils]: 27: Hoare triple {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {46666#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,583 INFO L290 TraceCheckUtils]: 28: Hoare triple {46666#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {46667#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:39:02,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {46667#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {46668#(<= |student_version_#in~w| 25)} #res := ~is_divisible~1; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,584 INFO L290 TraceCheckUtils]: 31: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,585 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {46668#(<= |student_version_#in~w| 25)} {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} #89#return; {46564#false} is VALID [2022-04-08 10:39:02,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {46563#true} call ULTIMATE.init(); {46635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:02,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {46635#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {46563#true} is VALID [2022-04-08 10:39:02,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-08 10:39:02,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-08 10:39:02,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-08 10:39:02,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {46563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {46563#true} is VALID [2022-04-08 10:39:02,586 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-08 10:39:02,586 INFO L272 TraceCheckUtils]: 7: Hoare triple {46563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:02,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {46563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {46636#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:02,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {46636#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,587 INFO L290 TraceCheckUtils]: 11: Hoare triple {46637#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,587 INFO L290 TraceCheckUtils]: 12: Hoare triple {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {46638#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,589 INFO L290 TraceCheckUtils]: 15: Hoare triple {46639#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,589 INFO L290 TraceCheckUtils]: 16: Hoare triple {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,589 INFO L290 TraceCheckUtils]: 17: Hoare triple {46640#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,590 INFO L290 TraceCheckUtils]: 18: Hoare triple {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,590 INFO L290 TraceCheckUtils]: 19: Hoare triple {46641#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {46642#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,591 INFO L290 TraceCheckUtils]: 22: Hoare triple {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {46643#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,592 INFO L290 TraceCheckUtils]: 24: Hoare triple {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {46644#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,593 INFO L290 TraceCheckUtils]: 26: Hoare triple {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {46645#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,594 INFO L290 TraceCheckUtils]: 29: Hoare triple {46646#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {46647#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {46648#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:02,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {46649#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !(~i~0 < ~w); {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:02,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {46650#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !(~i~0 != ~w); {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} #res := ~is_divisible~0; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:02,598 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46651#(<= 26 |correct_version_#in~w|)} {46563#true} #87#return; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:02,599 INFO L290 TraceCheckUtils]: 41: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:02,599 INFO L272 TraceCheckUtils]: 42: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:02,599 INFO L290 TraceCheckUtils]: 43: Hoare triple {46563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {46652#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:02,600 INFO L290 TraceCheckUtils]: 44: Hoare triple {46652#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:02,600 INFO L290 TraceCheckUtils]: 45: Hoare triple {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:02,600 INFO L290 TraceCheckUtils]: 46: Hoare triple {46653#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,601 INFO L290 TraceCheckUtils]: 48: Hoare triple {46654#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,602 INFO L290 TraceCheckUtils]: 49: Hoare triple {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,602 INFO L290 TraceCheckUtils]: 50: Hoare triple {46655#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:02,602 INFO L290 TraceCheckUtils]: 51: Hoare triple {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:02,603 INFO L290 TraceCheckUtils]: 52: Hoare triple {46656#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,603 INFO L290 TraceCheckUtils]: 53: Hoare triple {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,603 INFO L290 TraceCheckUtils]: 54: Hoare triple {46657#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:02,604 INFO L290 TraceCheckUtils]: 55: Hoare triple {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:02,604 INFO L290 TraceCheckUtils]: 56: Hoare triple {46658#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,605 INFO L290 TraceCheckUtils]: 57: Hoare triple {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {46659#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:02,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:02,606 INFO L290 TraceCheckUtils]: 60: Hoare triple {46660#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:02,606 INFO L290 TraceCheckUtils]: 61: Hoare triple {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:02,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {46661#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:02,607 INFO L290 TraceCheckUtils]: 63: Hoare triple {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:02,607 INFO L290 TraceCheckUtils]: 64: Hoare triple {46662#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,608 INFO L290 TraceCheckUtils]: 65: Hoare triple {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,608 INFO L290 TraceCheckUtils]: 66: Hoare triple {46663#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:02,608 INFO L290 TraceCheckUtils]: 67: Hoare triple {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:02,609 INFO L290 TraceCheckUtils]: 68: Hoare triple {46664#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:02,609 INFO L290 TraceCheckUtils]: 69: Hoare triple {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:02,610 INFO L290 TraceCheckUtils]: 70: Hoare triple {46665#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {46666#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:02,610 INFO L290 TraceCheckUtils]: 71: Hoare triple {46666#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {46667#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:39:02,611 INFO L290 TraceCheckUtils]: 72: Hoare triple {46667#(and (or (<= student_version_~i~1 26) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,611 INFO L290 TraceCheckUtils]: 73: Hoare triple {46668#(<= |student_version_#in~w| 25)} #res := ~is_divisible~1; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,611 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:02,612 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {46668#(<= |student_version_#in~w| 25)} {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} #89#return; {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L290 TraceCheckUtils]: 76: Hoare triple {46564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L272 TraceCheckUtils]: 77: Hoare triple {46564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-08 10:39:02,612 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:02,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:02,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [389886741] [2022-04-08 10:39:02,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [389886741] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:02,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1960426194] [2022-04-08 10:39:02,613 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:39:02,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:02,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:02,614 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:02,614 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Waiting until timeout for monitored process [2022-04-08 10:39:02,744 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-04-08 10:39:02,744 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:02,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 10:39:02,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:02,767 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:04,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {46563#true} call ULTIMATE.init(); {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {46563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {46563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {46563#true} is VALID [2022-04-08 10:39:04,540 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-08 10:39:04,541 INFO L272 TraceCheckUtils]: 7: Hoare triple {46563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:04,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {46563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {46696#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:39:04,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {46696#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {46700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {46700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {46700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {46700#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {46707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {46707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {46707#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {46714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {46714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {46714#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:04,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {46721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {46721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:04,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {46721#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {46728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,545 INFO L290 TraceCheckUtils]: 18: Hoare triple {46728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {46728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {46728#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:04,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {46735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {46735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:04,546 INFO L290 TraceCheckUtils]: 21: Hoare triple {46735#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {46742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {46742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {46742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,547 INFO L290 TraceCheckUtils]: 23: Hoare triple {46742#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,547 INFO L290 TraceCheckUtils]: 24: Hoare triple {46749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {46749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {46749#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {46756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {46756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {46756#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {46763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {46763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {46763#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46770#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {46770#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {46770#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {46770#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46777#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,551 INFO L290 TraceCheckUtils]: 32: Hoare triple {46777#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {46777#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {46777#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46784#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {46784#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {46784#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,552 INFO L290 TraceCheckUtils]: 35: Hoare triple {46784#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {46791#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {46791#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !(~i~0 < ~w); {46791#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:04,553 INFO L290 TraceCheckUtils]: 37: Hoare triple {46791#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !(~i~0 != ~w); {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:04,553 INFO L290 TraceCheckUtils]: 38: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} #res := ~is_divisible~0; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:04,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:04,554 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46651#(<= 26 |correct_version_#in~w|)} {46563#true} #87#return; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:04,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:04,555 INFO L272 TraceCheckUtils]: 42: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:04,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {46563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {46816#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:04,555 INFO L290 TraceCheckUtils]: 44: Hoare triple {46816#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {46820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:04,556 INFO L290 TraceCheckUtils]: 45: Hoare triple {46820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {46820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:04,556 INFO L290 TraceCheckUtils]: 46: Hoare triple {46820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {46827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:39:04,556 INFO L290 TraceCheckUtils]: 47: Hoare triple {46827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {46827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:39:04,557 INFO L290 TraceCheckUtils]: 48: Hoare triple {46827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {46834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:39:04,557 INFO L290 TraceCheckUtils]: 49: Hoare triple {46834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {46834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:39:04,558 INFO L290 TraceCheckUtils]: 50: Hoare triple {46834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {46841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:04,558 INFO L290 TraceCheckUtils]: 51: Hoare triple {46841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {46841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:04,558 INFO L290 TraceCheckUtils]: 52: Hoare triple {46841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {46848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:39:04,559 INFO L290 TraceCheckUtils]: 53: Hoare triple {46848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {46848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:39:04,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {46848#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {46855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:04,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {46855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {46855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:04,560 INFO L290 TraceCheckUtils]: 56: Hoare triple {46855#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {46862#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:39:04,560 INFO L290 TraceCheckUtils]: 57: Hoare triple {46862#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {46862#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:39:04,561 INFO L290 TraceCheckUtils]: 58: Hoare triple {46862#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {46869#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:04,561 INFO L290 TraceCheckUtils]: 59: Hoare triple {46869#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {46869#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:04,562 INFO L290 TraceCheckUtils]: 60: Hoare triple {46869#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {46876#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:04,562 INFO L290 TraceCheckUtils]: 61: Hoare triple {46876#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {46876#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:04,563 INFO L290 TraceCheckUtils]: 62: Hoare triple {46876#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {46883#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:04,563 INFO L290 TraceCheckUtils]: 63: Hoare triple {46883#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {46883#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:04,563 INFO L290 TraceCheckUtils]: 64: Hoare triple {46883#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {46890#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:39:04,564 INFO L290 TraceCheckUtils]: 65: Hoare triple {46890#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {46890#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:39:04,564 INFO L290 TraceCheckUtils]: 66: Hoare triple {46890#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {46897#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:04,565 INFO L290 TraceCheckUtils]: 67: Hoare triple {46897#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {46897#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:04,565 INFO L290 TraceCheckUtils]: 68: Hoare triple {46897#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {46904#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:04,565 INFO L290 TraceCheckUtils]: 69: Hoare triple {46904#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {46904#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:04,566 INFO L290 TraceCheckUtils]: 70: Hoare triple {46904#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {46911#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:39:04,566 INFO L290 TraceCheckUtils]: 71: Hoare triple {46911#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !(~i~1 < ~w); {46915#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:39:04,567 INFO L290 TraceCheckUtils]: 72: Hoare triple {46915#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 26))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:04,567 INFO L290 TraceCheckUtils]: 73: Hoare triple {46668#(<= |student_version_#in~w| 25)} #res := ~is_divisible~1; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:04,567 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:04,568 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {46668#(<= |student_version_#in~w| 25)} {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} #89#return; {46564#false} is VALID [2022-04-08 10:39:04,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {46564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {46564#false} is VALID [2022-04-08 10:39:04,568 INFO L272 TraceCheckUtils]: 77: Hoare triple {46564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {46564#false} is VALID [2022-04-08 10:39:04,568 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-08 10:39:04,568 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-08 10:39:04,568 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-08 10:39:04,569 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:04,569 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:16,299 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-08 10:39:16,299 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-08 10:39:16,300 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-08 10:39:16,300 INFO L272 TraceCheckUtils]: 77: Hoare triple {46564#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {46564#false} is VALID [2022-04-08 10:39:16,300 INFO L290 TraceCheckUtils]: 76: Hoare triple {46564#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {46564#false} is VALID [2022-04-08 10:39:16,301 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {46668#(<= |student_version_#in~w| 25)} {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} #89#return; {46564#false} is VALID [2022-04-08 10:39:16,301 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:16,301 INFO L290 TraceCheckUtils]: 73: Hoare triple {46668#(<= |student_version_#in~w| 25)} #res := ~is_divisible~1; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:16,302 INFO L290 TraceCheckUtils]: 72: Hoare triple {46970#(or (<= |student_version_#in~w| 25) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-08 10:39:16,302 INFO L290 TraceCheckUtils]: 71: Hoare triple {46974#(or (<= |student_version_#in~w| 25) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {46970#(or (<= |student_version_#in~w| 25) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:39:16,302 INFO L290 TraceCheckUtils]: 70: Hoare triple {46978#(or (<= |student_version_#in~w| 25) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {46974#(or (<= |student_version_#in~w| 25) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:39:16,303 INFO L290 TraceCheckUtils]: 69: Hoare triple {46978#(or (<= |student_version_#in~w| 25) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {46978#(or (<= |student_version_#in~w| 25) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,303 INFO L290 TraceCheckUtils]: 68: Hoare triple {46985#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {46978#(or (<= |student_version_#in~w| 25) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,303 INFO L290 TraceCheckUtils]: 67: Hoare triple {46985#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {46985#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:39:16,304 INFO L290 TraceCheckUtils]: 66: Hoare triple {46992#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} ~i~1 := 2 + ~i~1; {46985#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:39:16,304 INFO L290 TraceCheckUtils]: 65: Hoare triple {46992#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} assume !!(~i~1 < ~w); {46992#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,305 INFO L290 TraceCheckUtils]: 64: Hoare triple {46999#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {46992#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,305 INFO L290 TraceCheckUtils]: 63: Hoare triple {46999#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {46999#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:39:16,306 INFO L290 TraceCheckUtils]: 62: Hoare triple {47006#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 25))} ~i~1 := 2 + ~i~1; {46999#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-08 10:39:16,306 INFO L290 TraceCheckUtils]: 61: Hoare triple {47006#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 25))} assume !!(~i~1 < ~w); {47006#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,306 INFO L290 TraceCheckUtils]: 60: Hoare triple {47013#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {47006#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,307 INFO L290 TraceCheckUtils]: 59: Hoare triple {47013#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {47013#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:39:16,307 INFO L290 TraceCheckUtils]: 58: Hoare triple {47020#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} ~i~1 := 2 + ~i~1; {47013#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:39:16,307 INFO L290 TraceCheckUtils]: 57: Hoare triple {47020#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} assume !!(~i~1 < ~w); {47020#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {47027#(or (<= |student_version_#in~w| 25) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {47020#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {47027#(or (<= |student_version_#in~w| 25) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {47027#(or (<= |student_version_#in~w| 25) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,309 INFO L290 TraceCheckUtils]: 54: Hoare triple {47034#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 25))} ~i~1 := 2 + ~i~1; {47027#(or (<= |student_version_#in~w| 25) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,309 INFO L290 TraceCheckUtils]: 53: Hoare triple {47034#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 25))} assume !!(~i~1 < ~w); {47034#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {47041#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {47034#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 25))} is VALID [2022-04-08 10:39:16,310 INFO L290 TraceCheckUtils]: 51: Hoare triple {47041#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {47041#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:39:16,310 INFO L290 TraceCheckUtils]: 50: Hoare triple {47048#(or (<= |student_version_#in~w| 25) (<= (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {47041#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:39:16,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {47048#(or (<= |student_version_#in~w| 25) (<= (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {47048#(or (<= |student_version_#in~w| 25) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,311 INFO L290 TraceCheckUtils]: 48: Hoare triple {47055#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {47048#(or (<= |student_version_#in~w| 25) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:16,311 INFO L290 TraceCheckUtils]: 47: Hoare triple {47055#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {47055#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:39:16,312 INFO L290 TraceCheckUtils]: 46: Hoare triple {47062#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {47055#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:39:16,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {47062#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {47062#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:39:16,312 INFO L290 TraceCheckUtils]: 44: Hoare triple {47069#(or (<= |student_version_#in~w| 25) (<= 26 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {47062#(or (<= |student_version_#in~w| 25) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:39:16,313 INFO L290 TraceCheckUtils]: 43: Hoare triple {46563#true} ~w := #in~w;~is_divisible~1 := ~true~0; {47069#(or (<= |student_version_#in~w| 25) (<= 26 student_version_~w))} is VALID [2022-04-08 10:39:16,313 INFO L272 TraceCheckUtils]: 42: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:16,313 INFO L290 TraceCheckUtils]: 41: Hoare triple {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:16,314 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {46651#(<= 26 |correct_version_#in~w|)} {46563#true} #87#return; {46601#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 26) main_~w~0))} is VALID [2022-04-08 10:39:16,315 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:16,315 INFO L290 TraceCheckUtils]: 38: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} #res := ~is_divisible~0; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:16,315 INFO L290 TraceCheckUtils]: 37: Hoare triple {47091#(or (<= 26 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:16,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {47091#(or (<= 26 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {47091#(or (<= 26 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:39:16,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {47098#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 26 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {47091#(or (<= 26 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:39:16,316 INFO L290 TraceCheckUtils]: 34: Hoare triple {47098#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 26 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {47098#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 26 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:16,317 INFO L290 TraceCheckUtils]: 33: Hoare triple {47105#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {47098#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 26 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:16,317 INFO L290 TraceCheckUtils]: 32: Hoare triple {47105#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {47105#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:39:16,318 INFO L290 TraceCheckUtils]: 31: Hoare triple {47112#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {47105#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:39:16,318 INFO L290 TraceCheckUtils]: 30: Hoare triple {47112#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {47112#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:39:16,318 INFO L290 TraceCheckUtils]: 29: Hoare triple {47119#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 8)))} ~i~0 := 2 + ~i~0; {47112#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:39:16,319 INFO L290 TraceCheckUtils]: 28: Hoare triple {47119#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 8)))} assume !!(~i~0 < ~w); {47119#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:39:16,319 INFO L290 TraceCheckUtils]: 27: Hoare triple {47126#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {47119#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 8)))} is VALID [2022-04-08 10:39:16,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {47126#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {47126#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:39:16,320 INFO L290 TraceCheckUtils]: 25: Hoare triple {47133#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {47126#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:39:16,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {47133#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {47133#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:39:16,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {47140#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {47133#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:39:16,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {47140#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {47140#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:39:16,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {47147#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {47140#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:39:16,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {47147#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {47147#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:39:16,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {47154#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {47147#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:39:16,323 INFO L290 TraceCheckUtils]: 18: Hoare triple {47154#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {47154#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:39:16,323 INFO L290 TraceCheckUtils]: 17: Hoare triple {47161#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 26 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {47154#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:39:16,324 INFO L290 TraceCheckUtils]: 16: Hoare triple {47161#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 26 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {47161#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 26 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:16,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {47168#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {47161#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 26 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:16,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {47168#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {47168#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:39:16,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {47175#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {47168#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:39:16,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {47175#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {47175#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:39:16,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {47182#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 26)))} ~i~0 := 2 + ~i~0; {47175#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:39:16,326 INFO L290 TraceCheckUtils]: 10: Hoare triple {47182#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 26)))} assume !!(~i~0 < ~w); {47182#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-08 10:39:16,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {47189#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w 26))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {47182#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-08 10:39:16,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {46563#true} ~w := #in~w;~is_divisible~0 := ~true~0; {47189#(or (<= 26 |correct_version_#in~w|) (< correct_version_~w 26))} is VALID [2022-04-08 10:39:16,327 INFO L272 TraceCheckUtils]: 7: Hoare triple {46563#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {46563#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {46563#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {46563#true} is VALID [2022-04-08 10:39:16,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {46563#true} call ULTIMATE.init(); {46563#true} is VALID [2022-04-08 10:39:16,328 INFO L134 CoverageAnalysis]: Checked inductivity of 338 backedges. 169 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:16,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1960426194] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:16,328 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:16,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 99 [2022-04-08 10:39:16,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:16,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1424127289] [2022-04-08 10:39:16,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1424127289] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:16,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:16,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-08 10:39:16,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072343165] [2022-04-08 10:39:16,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:16,329 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 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 81 [2022-04-08 10:39:16,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:16,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:16,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:16,383 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-08 10:39:16,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:16,383 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-08 10:39:16,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1559, Invalid=8143, Unknown=0, NotChecked=0, Total=9702 [2022-04-08 10:39:16,384 INFO L87 Difference]: Start difference. First operand 93 states and 97 transitions. Second operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:19,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:19,281 INFO L93 Difference]: Finished difference Result 105 states and 110 transitions. [2022-04-08 10:39:19,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-04-08 10:39:19,281 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 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 81 [2022-04-08 10:39:19,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:19,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:19,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 105 transitions. [2022-04-08 10:39:19,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:19,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 105 transitions. [2022-04-08 10:39:19,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 105 transitions. [2022-04-08 10:39:19,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:19,393 INFO L225 Difference]: With dead ends: 105 [2022-04-08 10:39:19,393 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 10:39:19,394 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 99 SyntacticMatches, 5 SemanticMatches, 131 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7896 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=2687, Invalid=14869, Unknown=0, NotChecked=0, Total=17556 [2022-04-08 10:39:19,395 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 111 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 665 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 707 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 665 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:19,395 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [112 Valid, 70 Invalid, 707 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 665 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:39:19,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 10:39:20,340 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-08 10:39:20,340 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:20,341 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:20,341 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:20,341 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:20,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:20,342 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2022-04-08 10:39:20,342 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-08 10:39:20,342 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:20,342 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:20,342 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 96 states. [2022-04-08 10:39:20,342 INFO L87 Difference]: Start difference. First operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 96 states. [2022-04-08 10:39:20,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:20,343 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2022-04-08 10:39:20,343 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-08 10:39:20,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:20,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:20,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:20,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:20,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 84 states have (on average 1.0714285714285714) internal successors, (90), 86 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:20,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 101 transitions. [2022-04-08 10:39:20,344 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 101 transitions. Word has length 81 [2022-04-08 10:39:20,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:20,344 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 101 transitions. [2022-04-08 10:39:20,345 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 36 states have internal predecessors, (73), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:20,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 101 transitions. [2022-04-08 10:39:20,563 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:20,563 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-08 10:39:20,563 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-08 10:39:20,563 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:20,563 INFO L499 BasicCegarLoop]: trace histogram [14, 14, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:20,580 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:20,764 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable53 [2022-04-08 10:39:20,764 INFO L403 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:20,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:20,764 INFO L85 PathProgramCache]: Analyzing trace with hash 917109205, now seen corresponding path program 49 times [2022-04-08 10:39:20,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:20,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1372746382] [2022-04-08 10:39:20,766 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:20,766 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:20,767 INFO L85 PathProgramCache]: Analyzing trace with hash 917109205, now seen corresponding path program 50 times [2022-04-08 10:39:20,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:20,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [192564200] [2022-04-08 10:39:20,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:20,767 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:20,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:20,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:20,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:20,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {47952#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {47878#true} is VALID [2022-04-08 10:39:20,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-08 10:39:20,817 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-08 10:39:20,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:20,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:21,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {47878#true} ~w := #in~w;~is_divisible~0 := ~true~0; {47953#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:21,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {47953#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,048 INFO L290 TraceCheckUtils]: 3: Hoare triple {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,049 INFO L290 TraceCheckUtils]: 4: Hoare triple {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,049 INFO L290 TraceCheckUtils]: 6: Hoare triple {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:21,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:21,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:21,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:21,054 INFO L290 TraceCheckUtils]: 17: Hoare triple {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:21,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:21,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,057 INFO L290 TraceCheckUtils]: 26: Hoare triple {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47967#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {47967#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {47968#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~w 26))} is VALID [2022-04-08 10:39:21,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {47968#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~w 26))} assume !(~i~0 != ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,059 INFO L290 TraceCheckUtils]: 30: Hoare triple {47969#(<= |correct_version_#in~w| 26)} #res := ~is_divisible~0; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,059 INFO L290 TraceCheckUtils]: 31: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,060 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {47969#(<= |correct_version_#in~w| 26)} {47878#true} #87#return; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:21,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 10:39:21,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:21,356 INFO L290 TraceCheckUtils]: 0: Hoare triple {47878#true} ~w := #in~w;~is_divisible~1 := ~true~0; {47970#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:21,356 INFO L290 TraceCheckUtils]: 1: Hoare triple {47970#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,357 INFO L290 TraceCheckUtils]: 3: Hoare triple {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,358 INFO L290 TraceCheckUtils]: 4: Hoare triple {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,358 INFO L290 TraceCheckUtils]: 5: Hoare triple {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:21,358 INFO L290 TraceCheckUtils]: 6: Hoare triple {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:21,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:21,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:21,360 INFO L290 TraceCheckUtils]: 9: Hoare triple {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:21,360 INFO L290 TraceCheckUtils]: 10: Hoare triple {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:21,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:21,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:21,362 INFO L290 TraceCheckUtils]: 15: Hoare triple {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,362 INFO L290 TraceCheckUtils]: 16: Hoare triple {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,363 INFO L290 TraceCheckUtils]: 17: Hoare triple {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,363 INFO L290 TraceCheckUtils]: 18: Hoare triple {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,364 INFO L290 TraceCheckUtils]: 19: Hoare triple {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,364 INFO L290 TraceCheckUtils]: 20: Hoare triple {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,364 INFO L290 TraceCheckUtils]: 21: Hoare triple {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:21,365 INFO L290 TraceCheckUtils]: 22: Hoare triple {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:21,365 INFO L290 TraceCheckUtils]: 23: Hoare triple {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47984#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,367 INFO L290 TraceCheckUtils]: 28: Hoare triple {47984#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} ~i~1 := 2 + ~i~1; {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} assume !(~i~1 < ~w); {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {47986#(<= 27 |student_version_#in~w|)} #res := ~is_divisible~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,369 INFO L290 TraceCheckUtils]: 33: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,370 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {47986#(<= 27 |student_version_#in~w|)} {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} #89#return; {47879#false} is VALID [2022-04-08 10:39:21,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {47878#true} call ULTIMATE.init(); {47952#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:21,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {47952#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {47878#true} is VALID [2022-04-08 10:39:21,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {47878#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L272 TraceCheckUtils]: 7: Hoare triple {47878#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:21,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {47878#true} ~w := #in~w;~is_divisible~0 := ~true~0; {47953#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:21,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {47953#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {47954#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,373 INFO L290 TraceCheckUtils]: 12: Hoare triple {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {47955#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {47956#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,374 INFO L290 TraceCheckUtils]: 16: Hoare triple {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,375 INFO L290 TraceCheckUtils]: 17: Hoare triple {47957#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:21,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:21,375 INFO L290 TraceCheckUtils]: 19: Hoare triple {47958#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {47959#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,377 INFO L290 TraceCheckUtils]: 23: Hoare triple {47960#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:21,377 INFO L290 TraceCheckUtils]: 24: Hoare triple {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:21,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {47961#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,378 INFO L290 TraceCheckUtils]: 26: Hoare triple {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,378 INFO L290 TraceCheckUtils]: 27: Hoare triple {47962#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:21,379 INFO L290 TraceCheckUtils]: 28: Hoare triple {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:21,379 INFO L290 TraceCheckUtils]: 29: Hoare triple {47963#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,380 INFO L290 TraceCheckUtils]: 30: Hoare triple {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,380 INFO L290 TraceCheckUtils]: 31: Hoare triple {47964#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,380 INFO L290 TraceCheckUtils]: 32: Hoare triple {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,381 INFO L290 TraceCheckUtils]: 33: Hoare triple {47965#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,381 INFO L290 TraceCheckUtils]: 34: Hoare triple {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {47966#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {47967#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:21,382 INFO L290 TraceCheckUtils]: 36: Hoare triple {47967#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {47968#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~w 26))} is VALID [2022-04-08 10:39:21,382 INFO L290 TraceCheckUtils]: 37: Hoare triple {47968#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~w 26))} assume !(~i~0 != ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,383 INFO L290 TraceCheckUtils]: 38: Hoare triple {47969#(<= |correct_version_#in~w| 26)} #res := ~is_divisible~0; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:21,384 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {47969#(<= |correct_version_#in~w| 26)} {47878#true} #87#return; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:21,384 INFO L290 TraceCheckUtils]: 41: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:21,384 INFO L272 TraceCheckUtils]: 42: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:21,384 INFO L290 TraceCheckUtils]: 43: Hoare triple {47878#true} ~w := #in~w;~is_divisible~1 := ~true~0; {47970#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:21,385 INFO L290 TraceCheckUtils]: 44: Hoare triple {47970#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,385 INFO L290 TraceCheckUtils]: 45: Hoare triple {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,386 INFO L290 TraceCheckUtils]: 46: Hoare triple {47971#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {47972#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:21,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:21,387 INFO L290 TraceCheckUtils]: 50: Hoare triple {47973#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:21,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:21,388 INFO L290 TraceCheckUtils]: 52: Hoare triple {47974#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:21,388 INFO L290 TraceCheckUtils]: 53: Hoare triple {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:21,389 INFO L290 TraceCheckUtils]: 54: Hoare triple {47975#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,389 INFO L290 TraceCheckUtils]: 55: Hoare triple {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,389 INFO L290 TraceCheckUtils]: 56: Hoare triple {47976#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:21,390 INFO L290 TraceCheckUtils]: 57: Hoare triple {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:21,390 INFO L290 TraceCheckUtils]: 58: Hoare triple {47977#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {47978#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,391 INFO L290 TraceCheckUtils]: 61: Hoare triple {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,392 INFO L290 TraceCheckUtils]: 62: Hoare triple {47979#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,392 INFO L290 TraceCheckUtils]: 63: Hoare triple {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,393 INFO L290 TraceCheckUtils]: 64: Hoare triple {47980#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:21,393 INFO L290 TraceCheckUtils]: 65: Hoare triple {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:21,393 INFO L290 TraceCheckUtils]: 66: Hoare triple {47981#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,394 INFO L290 TraceCheckUtils]: 67: Hoare triple {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,394 INFO L290 TraceCheckUtils]: 68: Hoare triple {47982#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,394 INFO L290 TraceCheckUtils]: 69: Hoare triple {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,395 INFO L290 TraceCheckUtils]: 70: Hoare triple {47983#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {47984#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:21,395 INFO L290 TraceCheckUtils]: 71: Hoare triple {47984#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,396 INFO L290 TraceCheckUtils]: 72: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} ~i~1 := 2 + ~i~1; {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,396 INFO L290 TraceCheckUtils]: 73: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} assume !(~i~1 < ~w); {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} is VALID [2022-04-08 10:39:21,396 INFO L290 TraceCheckUtils]: 74: Hoare triple {47985#(and (= |student_version_#in~w| student_version_~w) (<= 27 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,397 INFO L290 TraceCheckUtils]: 75: Hoare triple {47986#(<= 27 |student_version_#in~w|)} #res := ~is_divisible~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,397 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:21,398 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {47986#(<= 27 |student_version_#in~w|)} {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} #89#return; {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L290 TraceCheckUtils]: 78: Hoare triple {47879#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L272 TraceCheckUtils]: 79: Hoare triple {47879#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-08 10:39:21,398 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 169 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:21,399 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:21,399 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [192564200] [2022-04-08 10:39:21,399 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [192564200] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:21,399 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1582536965] [2022-04-08 10:39:21,399 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:21,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:21,399 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:21,400 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:21,400 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Waiting until timeout for monitored process [2022-04-08 10:39:21,531 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:21,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:21,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 10:39:21,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:21,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:22,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {47878#true} call ULTIMATE.init(); {47878#true} is VALID [2022-04-08 10:39:22,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {47878#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {47878#true} is VALID [2022-04-08 10:39:22,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-08 10:39:22,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-08 10:39:22,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-08 10:39:22,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {47878#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {47878#true} is VALID [2022-04-08 10:39:22,885 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-08 10:39:22,885 INFO L272 TraceCheckUtils]: 7: Hoare triple {47878#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:22,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {47878#true} ~w := #in~w;~is_divisible~0 := ~true~0; {48014#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:22,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {48014#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {48018#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:39:22,886 INFO L290 TraceCheckUtils]: 10: Hoare triple {48018#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {48018#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:39:22,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {48018#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {48025#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:39:22,887 INFO L290 TraceCheckUtils]: 12: Hoare triple {48025#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {48025#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:39:22,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {48025#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {48032#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:39:22,887 INFO L290 TraceCheckUtils]: 14: Hoare triple {48032#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {48032#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:39:22,888 INFO L290 TraceCheckUtils]: 15: Hoare triple {48032#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {48039#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:39:22,888 INFO L290 TraceCheckUtils]: 16: Hoare triple {48039#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {48039#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:39:22,889 INFO L290 TraceCheckUtils]: 17: Hoare triple {48039#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {48046#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:22,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {48046#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {48046#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:22,889 INFO L290 TraceCheckUtils]: 19: Hoare triple {48046#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {48053#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:39:22,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {48053#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {48053#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:39:22,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {48053#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {48060#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:39:22,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {48060#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {48060#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:39:22,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {48060#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {48067#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:22,891 INFO L290 TraceCheckUtils]: 24: Hoare triple {48067#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {48067#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:22,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {48067#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {48074#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:39:22,892 INFO L290 TraceCheckUtils]: 26: Hoare triple {48074#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {48074#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:39:22,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {48074#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {48081#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:22,893 INFO L290 TraceCheckUtils]: 28: Hoare triple {48081#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {48081#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:22,893 INFO L290 TraceCheckUtils]: 29: Hoare triple {48081#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {48088#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:39:22,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {48088#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {48088#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:39:22,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {48088#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {48095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:39:22,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {48095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {48095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:39:22,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {48095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {48102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:39:22,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {48102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {48102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:39:22,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {48102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {48109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:39:22,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {48109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !(~i~0 < ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:22,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume !(~i~0 != ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:22,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {47969#(<= |correct_version_#in~w| 26)} #res := ~is_divisible~0; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:22,897 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:22,898 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {47969#(<= |correct_version_#in~w| 26)} {47878#true} #87#return; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:22,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:22,898 INFO L272 TraceCheckUtils]: 42: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:22,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {47878#true} ~w := #in~w;~is_divisible~1 := ~true~0; {48134#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {48134#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {48138#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,899 INFO L290 TraceCheckUtils]: 45: Hoare triple {48138#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48138#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,900 INFO L290 TraceCheckUtils]: 46: Hoare triple {48138#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48145#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,900 INFO L290 TraceCheckUtils]: 47: Hoare triple {48145#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48145#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {48145#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48152#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:22,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {48152#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {48152#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:22,902 INFO L290 TraceCheckUtils]: 50: Hoare triple {48152#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {48159#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,902 INFO L290 TraceCheckUtils]: 51: Hoare triple {48159#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48159#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,902 INFO L290 TraceCheckUtils]: 52: Hoare triple {48159#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48166#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,903 INFO L290 TraceCheckUtils]: 53: Hoare triple {48166#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48166#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,903 INFO L290 TraceCheckUtils]: 54: Hoare triple {48166#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48173#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,903 INFO L290 TraceCheckUtils]: 55: Hoare triple {48173#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48173#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {48173#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48180#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {48180#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48180#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,905 INFO L290 TraceCheckUtils]: 58: Hoare triple {48180#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48187#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,905 INFO L290 TraceCheckUtils]: 59: Hoare triple {48187#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48187#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,906 INFO L290 TraceCheckUtils]: 60: Hoare triple {48187#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48194#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,906 INFO L290 TraceCheckUtils]: 61: Hoare triple {48194#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48194#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {48194#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48201#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,907 INFO L290 TraceCheckUtils]: 63: Hoare triple {48201#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48201#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,907 INFO L290 TraceCheckUtils]: 64: Hoare triple {48201#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48208#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,907 INFO L290 TraceCheckUtils]: 65: Hoare triple {48208#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48208#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,908 INFO L290 TraceCheckUtils]: 66: Hoare triple {48208#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48215#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,908 INFO L290 TraceCheckUtils]: 67: Hoare triple {48215#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48215#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,909 INFO L290 TraceCheckUtils]: 68: Hoare triple {48215#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48222#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,909 INFO L290 TraceCheckUtils]: 69: Hoare triple {48222#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {48222#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {48222#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48229#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:22,910 INFO L290 TraceCheckUtils]: 71: Hoare triple {48229#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,910 INFO L290 TraceCheckUtils]: 72: Hoare triple {47986#(<= 27 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,910 INFO L290 TraceCheckUtils]: 73: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume !(~i~1 < ~w); {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,911 INFO L290 TraceCheckUtils]: 74: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,911 INFO L290 TraceCheckUtils]: 75: Hoare triple {47986#(<= 27 |student_version_#in~w|)} #res := ~is_divisible~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,911 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:22,912 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {47986#(<= 27 |student_version_#in~w|)} {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} #89#return; {47879#false} is VALID [2022-04-08 10:39:22,912 INFO L290 TraceCheckUtils]: 78: Hoare triple {47879#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {47879#false} is VALID [2022-04-08 10:39:22,912 INFO L272 TraceCheckUtils]: 79: Hoare triple {47879#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {47879#false} is VALID [2022-04-08 10:39:22,912 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-08 10:39:22,913 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-08 10:39:22,913 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-08 10:39:22,913 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 169 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:22,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:28,318 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-08 10:39:28,318 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-08 10:39:28,318 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-08 10:39:28,318 INFO L272 TraceCheckUtils]: 79: Hoare triple {47879#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {47879#false} is VALID [2022-04-08 10:39:28,318 INFO L290 TraceCheckUtils]: 78: Hoare triple {47879#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {47879#false} is VALID [2022-04-08 10:39:28,319 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {47986#(<= 27 |student_version_#in~w|)} {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} #89#return; {47879#false} is VALID [2022-04-08 10:39:28,319 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,320 INFO L290 TraceCheckUtils]: 75: Hoare triple {47986#(<= 27 |student_version_#in~w|)} #res := ~is_divisible~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,320 INFO L290 TraceCheckUtils]: 74: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,320 INFO L290 TraceCheckUtils]: 73: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume !(~i~1 < ~w); {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,320 INFO L290 TraceCheckUtils]: 72: Hoare triple {47986#(<= 27 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,321 INFO L290 TraceCheckUtils]: 71: Hoare triple {48302#(or (not (< student_version_~i~1 student_version_~w)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-08 10:39:28,321 INFO L290 TraceCheckUtils]: 70: Hoare triple {48306#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48302#(or (not (< student_version_~i~1 student_version_~w)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,322 INFO L290 TraceCheckUtils]: 69: Hoare triple {48306#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48306#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,322 INFO L290 TraceCheckUtils]: 68: Hoare triple {48313#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48306#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,322 INFO L290 TraceCheckUtils]: 67: Hoare triple {48313#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48313#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,323 INFO L290 TraceCheckUtils]: 66: Hoare triple {48320#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {48313#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,323 INFO L290 TraceCheckUtils]: 65: Hoare triple {48320#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {48320#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:39:28,324 INFO L290 TraceCheckUtils]: 64: Hoare triple {48327#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48320#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:39:28,324 INFO L290 TraceCheckUtils]: 63: Hoare triple {48327#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48327#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,324 INFO L290 TraceCheckUtils]: 62: Hoare triple {48334#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48327#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,325 INFO L290 TraceCheckUtils]: 61: Hoare triple {48334#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48334#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,325 INFO L290 TraceCheckUtils]: 60: Hoare triple {48341#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48334#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,325 INFO L290 TraceCheckUtils]: 59: Hoare triple {48341#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48341#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,326 INFO L290 TraceCheckUtils]: 58: Hoare triple {48348#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {48341#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,326 INFO L290 TraceCheckUtils]: 57: Hoare triple {48348#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {48348#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:39:28,327 INFO L290 TraceCheckUtils]: 56: Hoare triple {48355#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48348#(or (<= 27 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:39:28,327 INFO L290 TraceCheckUtils]: 55: Hoare triple {48355#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48355#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,328 INFO L290 TraceCheckUtils]: 54: Hoare triple {48362#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48355#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,328 INFO L290 TraceCheckUtils]: 53: Hoare triple {48362#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48362#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,328 INFO L290 TraceCheckUtils]: 52: Hoare triple {48369#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48362#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,329 INFO L290 TraceCheckUtils]: 51: Hoare triple {48369#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48369#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,329 INFO L290 TraceCheckUtils]: 50: Hoare triple {48376#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48369#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,329 INFO L290 TraceCheckUtils]: 49: Hoare triple {48376#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48376#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,330 INFO L290 TraceCheckUtils]: 48: Hoare triple {48383#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48376#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,330 INFO L290 TraceCheckUtils]: 47: Hoare triple {48383#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48383#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {48390#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 27 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {48383#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {48390#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 27 |student_version_#in~w|))} assume !!(~i~1 < ~w); {48390#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {48397#(or (<= student_version_~w 26) (<= 27 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {48390#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,332 INFO L290 TraceCheckUtils]: 43: Hoare triple {47878#true} ~w := #in~w;~is_divisible~1 := ~true~0; {48397#(or (<= student_version_~w 26) (<= 27 |student_version_#in~w|))} is VALID [2022-04-08 10:39:28,332 INFO L272 TraceCheckUtils]: 42: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:28,332 INFO L290 TraceCheckUtils]: 41: Hoare triple {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:28,333 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {47969#(<= |correct_version_#in~w| 26)} {47878#true} #87#return; {47916#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 26)))} is VALID [2022-04-08 10:39:28,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:28,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {47969#(<= |correct_version_#in~w| 26)} #res := ~is_divisible~0; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:28,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume !(~i~0 != ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:28,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {48422#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 26))} assume !(~i~0 < ~w); {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-08 10:39:28,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {48426#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {48422#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,335 INFO L290 TraceCheckUtils]: 34: Hoare triple {48426#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {48426#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:39:28,335 INFO L290 TraceCheckUtils]: 33: Hoare triple {48433#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {48426#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:39:28,336 INFO L290 TraceCheckUtils]: 32: Hoare triple {48433#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {48433#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:39:28,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {48440#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48433#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-08 10:39:28,336 INFO L290 TraceCheckUtils]: 30: Hoare triple {48440#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48440#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {48447#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {48440#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {48447#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {48447#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:39:28,338 INFO L290 TraceCheckUtils]: 27: Hoare triple {48454#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48447#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-08 10:39:28,338 INFO L290 TraceCheckUtils]: 26: Hoare triple {48454#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48454#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {48461#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48454#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {48461#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48461#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {48468#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {48461#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {48468#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {48468#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:39:28,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {48475#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {48468#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-08 10:39:28,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {48475#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {48475#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:39:28,341 INFO L290 TraceCheckUtils]: 19: Hoare triple {48482#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {48475#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:39:28,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {48482#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {48482#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:39:28,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {48489#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48482#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-08 10:39:28,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {48489#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48489#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {48496#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {48489#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,343 INFO L290 TraceCheckUtils]: 14: Hoare triple {48496#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {48496#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:39:28,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {48503#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48496#(or (<= |correct_version_#in~w| 26) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:39:28,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {48503#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48503#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {48510#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 26))} ~i~0 := 2 + ~i~0; {48503#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {48510#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 26))} assume !!(~i~0 < ~w); {48510#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {48517#(or (< 26 correct_version_~w) (<= |correct_version_#in~w| 26))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {48510#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {47878#true} ~w := #in~w;~is_divisible~0 := ~true~0; {48517#(or (< 26 correct_version_~w) (<= |correct_version_#in~w| 26))} is VALID [2022-04-08 10:39:28,345 INFO L272 TraceCheckUtils]: 7: Hoare triple {47878#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {47878#true} is VALID [2022-04-08 10:39:28,345 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-08 10:39:28,345 INFO L290 TraceCheckUtils]: 5: Hoare triple {47878#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {47878#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {47878#true} call ULTIMATE.init(); {47878#true} is VALID [2022-04-08 10:39:28,346 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 196 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:28,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1582536965] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:28,346 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:28,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 35, 35] total 98 [2022-04-08 10:39:28,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:28,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1372746382] [2022-04-08 10:39:28,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1372746382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:28,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:28,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-08 10:39:28,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679462083] [2022-04-08 10:39:28,347 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:28,347 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 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 83 [2022-04-08 10:39:28,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:28,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:28,402 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:28,402 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-08 10:39:28,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:28,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-08 10:39:28,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1581, Invalid=7925, Unknown=0, NotChecked=0, Total=9506 [2022-04-08 10:39:28,403 INFO L87 Difference]: Start difference. First operand 96 states and 101 transitions. Second operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:31,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:31,139 INFO L93 Difference]: Finished difference Result 111 states and 116 transitions. [2022-04-08 10:39:31,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-08 10:39:31,139 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 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 83 [2022-04-08 10:39:31,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:31,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:31,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 108 transitions. [2022-04-08 10:39:31,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:31,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 108 transitions. [2022-04-08 10:39:31,141 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 108 transitions. [2022-04-08 10:39:31,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:31,228 INFO L225 Difference]: With dead ends: 111 [2022-04-08 10:39:31,228 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 10:39:31,229 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 105 SyntacticMatches, 5 SemanticMatches, 129 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7816 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=2696, Invalid=14334, Unknown=0, NotChecked=0, Total=17030 [2022-04-08 10:39:31,229 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 108 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 523 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 565 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 523 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:31,229 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 62 Invalid, 565 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 523 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 10:39:31,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 10:39:32,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 95. [2022-04-08 10:39:32,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:32,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:32,169 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:32,169 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:32,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:32,170 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2022-04-08 10:39:32,170 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-08 10:39:32,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:32,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:32,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:39:32,170 INFO L87 Difference]: Start difference. First operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:39:32,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:32,171 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2022-04-08 10:39:32,171 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-08 10:39:32,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:32,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:32,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:32,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:32,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 83 states have (on average 1.0602409638554218) internal successors, (88), 85 states have internal predecessors, (88), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:32,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 99 transitions. [2022-04-08 10:39:32,172 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 99 transitions. Word has length 83 [2022-04-08 10:39:32,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:32,173 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 99 transitions. [2022-04-08 10:39:32,173 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:32,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 99 transitions. [2022-04-08 10:39:32,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:32,381 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-08 10:39:32,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-08 10:39:32,381 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:32,381 INFO L499 BasicCegarLoop]: trace histogram [14, 14, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:32,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:32,582 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable54,52 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:32,582 INFO L403 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:32,582 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:32,582 INFO L85 PathProgramCache]: Analyzing trace with hash 1761974709, now seen corresponding path program 49 times [2022-04-08 10:39:32,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:32,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [873197338] [2022-04-08 10:39:32,584 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:32,584 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:32,584 INFO L85 PathProgramCache]: Analyzing trace with hash 1761974709, now seen corresponding path program 50 times [2022-04-08 10:39:32,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:32,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [21356386] [2022-04-08 10:39:32,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:32,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:32,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:32,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:32,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:32,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {49294#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {49220#true} is VALID [2022-04-08 10:39:32,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-08 10:39:32,629 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-08 10:39:32,629 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:32,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:32,863 INFO L290 TraceCheckUtils]: 0: Hoare triple {49220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {49295#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:32,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {49295#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,864 INFO L290 TraceCheckUtils]: 3: Hoare triple {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,864 INFO L290 TraceCheckUtils]: 4: Hoare triple {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,867 INFO L290 TraceCheckUtils]: 10: Hoare triple {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,867 INFO L290 TraceCheckUtils]: 11: Hoare triple {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,872 INFO L290 TraceCheckUtils]: 22: Hoare triple {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,873 INFO L290 TraceCheckUtils]: 25: Hoare triple {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,874 INFO L290 TraceCheckUtils]: 27: Hoare triple {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49309#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:32,874 INFO L290 TraceCheckUtils]: 28: Hoare triple {49309#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,874 INFO L290 TraceCheckUtils]: 29: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:32,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:32,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} #res := ~is_divisible~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:32,876 INFO L290 TraceCheckUtils]: 33: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:32,876 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {49311#(<= 27 |correct_version_#in~w|)} {49220#true} #87#return; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:32,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:39:32,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:33,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {49220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {49312#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:33,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {49312#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:33,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:33,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,316 INFO L290 TraceCheckUtils]: 4: Hoare triple {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,317 INFO L290 TraceCheckUtils]: 6: Hoare triple {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:33,318 INFO L290 TraceCheckUtils]: 8: Hoare triple {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:33,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,319 INFO L290 TraceCheckUtils]: 10: Hoare triple {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:33,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:33,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:33,322 INFO L290 TraceCheckUtils]: 16: Hoare triple {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:33,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:33,323 INFO L290 TraceCheckUtils]: 18: Hoare triple {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:33,323 INFO L290 TraceCheckUtils]: 19: Hoare triple {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:33,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:33,324 INFO L290 TraceCheckUtils]: 21: Hoare triple {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,325 INFO L290 TraceCheckUtils]: 23: Hoare triple {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:33,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:33,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:33,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:33,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {49326#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,328 INFO L290 TraceCheckUtils]: 28: Hoare triple {49326#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {49327#(and (<= student_version_~w 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,328 INFO L290 TraceCheckUtils]: 29: Hoare triple {49327#(and (<= student_version_~w 26) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,328 INFO L290 TraceCheckUtils]: 30: Hoare triple {49328#(<= |student_version_#in~w| 26)} #res := ~is_divisible~1; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {49328#(<= |student_version_#in~w| 26)} {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} #89#return; {49221#false} is VALID [2022-04-08 10:39:33,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {49220#true} call ULTIMATE.init(); {49294#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:33,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {49294#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {49220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-08 10:39:33,331 INFO L272 TraceCheckUtils]: 7: Hoare triple {49220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:33,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {49220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {49295#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:33,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {49295#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,333 INFO L290 TraceCheckUtils]: 10: Hoare triple {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {49296#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {49297#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,335 INFO L290 TraceCheckUtils]: 14: Hoare triple {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,335 INFO L290 TraceCheckUtils]: 15: Hoare triple {49298#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,336 INFO L290 TraceCheckUtils]: 16: Hoare triple {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,336 INFO L290 TraceCheckUtils]: 17: Hoare triple {49299#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,337 INFO L290 TraceCheckUtils]: 18: Hoare triple {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {49300#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {49301#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {49302#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {49303#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,341 INFO L290 TraceCheckUtils]: 27: Hoare triple {49304#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,341 INFO L290 TraceCheckUtils]: 28: Hoare triple {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {49305#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {49306#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,343 INFO L290 TraceCheckUtils]: 32: Hoare triple {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {49307#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,345 INFO L290 TraceCheckUtils]: 35: Hoare triple {49308#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49309#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:33,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {49309#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,346 INFO L290 TraceCheckUtils]: 37: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,346 INFO L290 TraceCheckUtils]: 38: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:33,347 INFO L290 TraceCheckUtils]: 39: Hoare triple {49310#(and (<= 27 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:33,347 INFO L290 TraceCheckUtils]: 40: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} #res := ~is_divisible~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:33,347 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:33,349 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {49311#(<= 27 |correct_version_#in~w|)} {49220#true} #87#return; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:33,349 INFO L290 TraceCheckUtils]: 43: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:33,349 INFO L272 TraceCheckUtils]: 44: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:33,350 INFO L290 TraceCheckUtils]: 45: Hoare triple {49220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {49312#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:33,350 INFO L290 TraceCheckUtils]: 46: Hoare triple {49312#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:33,351 INFO L290 TraceCheckUtils]: 47: Hoare triple {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:33,351 INFO L290 TraceCheckUtils]: 48: Hoare triple {49313#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,363 INFO L290 TraceCheckUtils]: 49: Hoare triple {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {49314#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,365 INFO L290 TraceCheckUtils]: 51: Hoare triple {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,365 INFO L290 TraceCheckUtils]: 52: Hoare triple {49315#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:33,366 INFO L290 TraceCheckUtils]: 53: Hoare triple {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:33,366 INFO L290 TraceCheckUtils]: 54: Hoare triple {49316#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,367 INFO L290 TraceCheckUtils]: 55: Hoare triple {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,367 INFO L290 TraceCheckUtils]: 56: Hoare triple {49317#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:33,368 INFO L290 TraceCheckUtils]: 57: Hoare triple {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:33,368 INFO L290 TraceCheckUtils]: 58: Hoare triple {49318#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,369 INFO L290 TraceCheckUtils]: 59: Hoare triple {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,369 INFO L290 TraceCheckUtils]: 60: Hoare triple {49319#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:33,370 INFO L290 TraceCheckUtils]: 61: Hoare triple {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:33,370 INFO L290 TraceCheckUtils]: 62: Hoare triple {49320#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:33,371 INFO L290 TraceCheckUtils]: 63: Hoare triple {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:33,371 INFO L290 TraceCheckUtils]: 64: Hoare triple {49321#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:33,372 INFO L290 TraceCheckUtils]: 65: Hoare triple {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:33,372 INFO L290 TraceCheckUtils]: 66: Hoare triple {49322#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,373 INFO L290 TraceCheckUtils]: 67: Hoare triple {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,373 INFO L290 TraceCheckUtils]: 68: Hoare triple {49323#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:33,374 INFO L290 TraceCheckUtils]: 69: Hoare triple {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:33,374 INFO L290 TraceCheckUtils]: 70: Hoare triple {49324#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:33,375 INFO L290 TraceCheckUtils]: 71: Hoare triple {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:33,375 INFO L290 TraceCheckUtils]: 72: Hoare triple {49325#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {49326#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,376 INFO L290 TraceCheckUtils]: 73: Hoare triple {49326#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {49327#(and (<= student_version_~w 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:33,376 INFO L290 TraceCheckUtils]: 74: Hoare triple {49327#(and (<= student_version_~w 26) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,377 INFO L290 TraceCheckUtils]: 75: Hoare triple {49328#(<= |student_version_#in~w| 26)} #res := ~is_divisible~1; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,377 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:33,378 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {49328#(<= |student_version_#in~w| 26)} {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} #89#return; {49221#false} is VALID [2022-04-08 10:39:33,378 INFO L290 TraceCheckUtils]: 78: Hoare triple {49221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {49221#false} is VALID [2022-04-08 10:39:33,378 INFO L272 TraceCheckUtils]: 79: Hoare triple {49221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {49221#false} is VALID [2022-04-08 10:39:33,378 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-08 10:39:33,378 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-08 10:39:33,378 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-08 10:39:33,379 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 169 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:33,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:33,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [21356386] [2022-04-08 10:39:33,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [21356386] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:33,379 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328458947] [2022-04-08 10:39:33,379 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:39:33,380 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:33,380 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:33,381 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:33,382 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Waiting until timeout for monitored process [2022-04-08 10:39:33,511 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:39:33,511 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:33,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 10:39:33,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:33,531 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:35,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {49220#true} call ULTIMATE.init(); {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {49220#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {49220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-08 10:39:35,156 INFO L272 TraceCheckUtils]: 7: Hoare triple {49220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:35,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {49220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {49356#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {49356#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {49360#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,157 INFO L290 TraceCheckUtils]: 10: Hoare triple {49360#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {49360#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {49360#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49367#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,158 INFO L290 TraceCheckUtils]: 12: Hoare triple {49367#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {49367#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,159 INFO L290 TraceCheckUtils]: 13: Hoare triple {49367#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49374#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {49374#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {49374#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,159 INFO L290 TraceCheckUtils]: 15: Hoare triple {49374#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49381#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:35,160 INFO L290 TraceCheckUtils]: 16: Hoare triple {49381#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49381#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:35,160 INFO L290 TraceCheckUtils]: 17: Hoare triple {49381#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49388#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {49388#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {49388#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {49388#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49395#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:35,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {49395#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49395#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:39:35,162 INFO L290 TraceCheckUtils]: 21: Hoare triple {49395#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49402#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,162 INFO L290 TraceCheckUtils]: 22: Hoare triple {49402#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {49402#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {49402#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49409#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {49409#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {49409#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {49409#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49416#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,164 INFO L290 TraceCheckUtils]: 26: Hoare triple {49416#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {49416#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {49416#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49423#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,165 INFO L290 TraceCheckUtils]: 28: Hoare triple {49423#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {49423#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {49423#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49430#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {49430#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {49430#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {49430#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49437#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,166 INFO L290 TraceCheckUtils]: 32: Hoare triple {49437#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {49437#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {49437#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49444#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,167 INFO L290 TraceCheckUtils]: 34: Hoare triple {49444#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {49444#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {49444#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {49451#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:39:35,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {49451#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,168 INFO L290 TraceCheckUtils]: 37: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,169 INFO L290 TraceCheckUtils]: 38: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume !(~i~0 < ~w); {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} #res := ~is_divisible~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,169 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:35,170 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {49311#(<= 27 |correct_version_#in~w|)} {49220#true} #87#return; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:35,171 INFO L290 TraceCheckUtils]: 43: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:35,171 INFO L272 TraceCheckUtils]: 44: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:35,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {49220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {49482#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:35,172 INFO L290 TraceCheckUtils]: 46: Hoare triple {49482#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {49486#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:35,172 INFO L290 TraceCheckUtils]: 47: Hoare triple {49486#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {49486#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:39:35,172 INFO L290 TraceCheckUtils]: 48: Hoare triple {49486#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {49493#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:39:35,173 INFO L290 TraceCheckUtils]: 49: Hoare triple {49493#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {49493#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:39:35,173 INFO L290 TraceCheckUtils]: 50: Hoare triple {49493#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {49500#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:39:35,174 INFO L290 TraceCheckUtils]: 51: Hoare triple {49500#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {49500#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:39:35,174 INFO L290 TraceCheckUtils]: 52: Hoare triple {49500#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {49507#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:35,174 INFO L290 TraceCheckUtils]: 53: Hoare triple {49507#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {49507#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:39:35,175 INFO L290 TraceCheckUtils]: 54: Hoare triple {49507#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {49514#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:39:35,175 INFO L290 TraceCheckUtils]: 55: Hoare triple {49514#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {49514#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:39:35,176 INFO L290 TraceCheckUtils]: 56: Hoare triple {49514#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {49521#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:35,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {49521#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {49521#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:39:35,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {49521#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {49528#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:39:35,177 INFO L290 TraceCheckUtils]: 59: Hoare triple {49528#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {49528#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:39:35,177 INFO L290 TraceCheckUtils]: 60: Hoare triple {49528#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {49535#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:35,178 INFO L290 TraceCheckUtils]: 61: Hoare triple {49535#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {49535#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:39:35,178 INFO L290 TraceCheckUtils]: 62: Hoare triple {49535#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {49542#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:35,178 INFO L290 TraceCheckUtils]: 63: Hoare triple {49542#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {49542#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:39:35,179 INFO L290 TraceCheckUtils]: 64: Hoare triple {49542#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {49549#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:35,179 INFO L290 TraceCheckUtils]: 65: Hoare triple {49549#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {49549#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:39:35,180 INFO L290 TraceCheckUtils]: 66: Hoare triple {49549#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {49556#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:39:35,180 INFO L290 TraceCheckUtils]: 67: Hoare triple {49556#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {49556#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:39:35,180 INFO L290 TraceCheckUtils]: 68: Hoare triple {49556#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {49563#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:35,181 INFO L290 TraceCheckUtils]: 69: Hoare triple {49563#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {49563#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:39:35,181 INFO L290 TraceCheckUtils]: 70: Hoare triple {49563#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {49570#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:35,182 INFO L290 TraceCheckUtils]: 71: Hoare triple {49570#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {49570#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:39:35,182 INFO L290 TraceCheckUtils]: 72: Hoare triple {49570#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {49577#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:39:35,182 INFO L290 TraceCheckUtils]: 73: Hoare triple {49577#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !(~i~1 < ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:35,183 INFO L290 TraceCheckUtils]: 74: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume !(~i~1 != ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:35,183 INFO L290 TraceCheckUtils]: 75: Hoare triple {49328#(<= |student_version_#in~w| 26)} #res := ~is_divisible~1; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:35,183 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:35,184 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {49328#(<= |student_version_#in~w| 26)} {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} #89#return; {49221#false} is VALID [2022-04-08 10:39:35,184 INFO L290 TraceCheckUtils]: 78: Hoare triple {49221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {49221#false} is VALID [2022-04-08 10:39:35,184 INFO L272 TraceCheckUtils]: 79: Hoare triple {49221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {49221#false} is VALID [2022-04-08 10:39:35,184 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-08 10:39:35,184 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-08 10:39:35,184 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-08 10:39:35,185 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 169 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:35,185 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:39:40,121 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-08 10:39:40,122 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-08 10:39:40,122 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-08 10:39:40,122 INFO L272 TraceCheckUtils]: 79: Hoare triple {49221#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {49221#false} is VALID [2022-04-08 10:39:40,122 INFO L290 TraceCheckUtils]: 78: Hoare triple {49221#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {49221#false} is VALID [2022-04-08 10:39:40,123 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {49328#(<= |student_version_#in~w| 26)} {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} #89#return; {49221#false} is VALID [2022-04-08 10:39:40,123 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:40,123 INFO L290 TraceCheckUtils]: 75: Hoare triple {49328#(<= |student_version_#in~w| 26)} #res := ~is_divisible~1; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:40,124 INFO L290 TraceCheckUtils]: 74: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume !(~i~1 != ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:40,124 INFO L290 TraceCheckUtils]: 73: Hoare triple {49638#(or (<= |student_version_#in~w| 26) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-08 10:39:40,124 INFO L290 TraceCheckUtils]: 72: Hoare triple {49642#(or (<= |student_version_#in~w| 26) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {49638#(or (<= |student_version_#in~w| 26) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:39:40,125 INFO L290 TraceCheckUtils]: 71: Hoare triple {49642#(or (<= |student_version_#in~w| 26) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {49642#(or (<= |student_version_#in~w| 26) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,125 INFO L290 TraceCheckUtils]: 70: Hoare triple {49649#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {49642#(or (<= |student_version_#in~w| 26) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,125 INFO L290 TraceCheckUtils]: 69: Hoare triple {49649#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {49649#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:39:40,126 INFO L290 TraceCheckUtils]: 68: Hoare triple {49656#(or (<= |student_version_#in~w| 26) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {49649#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-08 10:39:40,126 INFO L290 TraceCheckUtils]: 67: Hoare triple {49656#(or (<= |student_version_#in~w| 26) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {49656#(or (<= |student_version_#in~w| 26) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,127 INFO L290 TraceCheckUtils]: 66: Hoare triple {49663#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49656#(or (<= |student_version_#in~w| 26) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,127 INFO L290 TraceCheckUtils]: 65: Hoare triple {49663#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49663#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,128 INFO L290 TraceCheckUtils]: 64: Hoare triple {49670#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {49663#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,128 INFO L290 TraceCheckUtils]: 63: Hoare triple {49670#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {49670#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:39:40,128 INFO L290 TraceCheckUtils]: 62: Hoare triple {49677#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {49670#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-08 10:39:40,129 INFO L290 TraceCheckUtils]: 61: Hoare triple {49677#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {49677#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:39:40,129 INFO L290 TraceCheckUtils]: 60: Hoare triple {49684#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49677#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:39:40,129 INFO L290 TraceCheckUtils]: 59: Hoare triple {49684#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49684#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,130 INFO L290 TraceCheckUtils]: 58: Hoare triple {49691#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49684#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,130 INFO L290 TraceCheckUtils]: 57: Hoare triple {49691#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49691#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {49698#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49691#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,131 INFO L290 TraceCheckUtils]: 55: Hoare triple {49698#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49698#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,132 INFO L290 TraceCheckUtils]: 54: Hoare triple {49705#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49698#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,132 INFO L290 TraceCheckUtils]: 53: Hoare triple {49705#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49705#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,132 INFO L290 TraceCheckUtils]: 52: Hoare triple {49712#(or (<= |student_version_#in~w| 26) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {49705#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {49712#(or (<= |student_version_#in~w| 26) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {49712#(or (<= |student_version_#in~w| 26) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {49719#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 26))} ~i~1 := 2 + ~i~1; {49712#(or (<= |student_version_#in~w| 26) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:39:40,134 INFO L290 TraceCheckUtils]: 49: Hoare triple {49719#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 26))} assume !!(~i~1 < ~w); {49719#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,134 INFO L290 TraceCheckUtils]: 48: Hoare triple {49726#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {49719#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 26))} is VALID [2022-04-08 10:39:40,134 INFO L290 TraceCheckUtils]: 47: Hoare triple {49726#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {49726#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:39:40,135 INFO L290 TraceCheckUtils]: 46: Hoare triple {49733#(or (<= |student_version_#in~w| 26) (< 26 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {49726#(or (<= |student_version_#in~w| 26) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:39:40,135 INFO L290 TraceCheckUtils]: 45: Hoare triple {49220#true} ~w := #in~w;~is_divisible~1 := ~true~0; {49733#(or (<= |student_version_#in~w| 26) (< 26 student_version_~w))} is VALID [2022-04-08 10:39:40,135 INFO L272 TraceCheckUtils]: 44: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:40,136 INFO L290 TraceCheckUtils]: 43: Hoare triple {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:40,136 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {49311#(<= 27 |correct_version_#in~w|)} {49220#true} #87#return; {49260#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 27) main_~w~0))} is VALID [2022-04-08 10:39:40,137 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,137 INFO L290 TraceCheckUtils]: 40: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} #res := ~is_divisible~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,137 INFO L290 TraceCheckUtils]: 39: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume !(~i~0 < ~w); {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,138 INFO L290 TraceCheckUtils]: 37: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {49764#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-08 10:39:40,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {49768#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49764#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,139 INFO L290 TraceCheckUtils]: 34: Hoare triple {49768#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49768#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,139 INFO L290 TraceCheckUtils]: 33: Hoare triple {49775#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49768#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,140 INFO L290 TraceCheckUtils]: 32: Hoare triple {49775#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49775#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,140 INFO L290 TraceCheckUtils]: 31: Hoare triple {49782#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {49775#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {49782#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {49782#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:39:40,141 INFO L290 TraceCheckUtils]: 29: Hoare triple {49789#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49782#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:39:40,141 INFO L290 TraceCheckUtils]: 28: Hoare triple {49789#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49789#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {49796#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {49789#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,142 INFO L290 TraceCheckUtils]: 26: Hoare triple {49796#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {49796#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:39:40,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {49803#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {49796#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-08 10:39:40,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {49803#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {49803#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:39:40,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {49810#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {49803#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:39:40,144 INFO L290 TraceCheckUtils]: 22: Hoare triple {49810#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {49810#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:39:40,144 INFO L290 TraceCheckUtils]: 21: Hoare triple {49817#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {49810#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:39:40,145 INFO L290 TraceCheckUtils]: 20: Hoare triple {49817#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {49817#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:39:40,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {49824#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {49817#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:39:40,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {49824#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {49824#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:39:40,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {49831#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49824#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:39:40,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {49831#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49831#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {49838#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49831#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {49838#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49838#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {49845#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 27 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {49838#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,148 INFO L290 TraceCheckUtils]: 12: Hoare triple {49845#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 27 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {49845#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {49852#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} ~i~0 := 2 + ~i~0; {49845#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 27 |correct_version_#in~w|))} is VALID [2022-04-08 10:39:40,149 INFO L290 TraceCheckUtils]: 10: Hoare triple {49852#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} assume !!(~i~0 < ~w); {49852#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-08 10:39:40,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {49859#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w 26))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {49852#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-08 10:39:40,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {49220#true} ~w := #in~w;~is_divisible~0 := ~true~0; {49859#(or (<= 27 |correct_version_#in~w|) (<= correct_version_~w 26))} is VALID [2022-04-08 10:39:40,149 INFO L272 TraceCheckUtils]: 7: Hoare triple {49220#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {49220#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {49220#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {49220#true} call ULTIMATE.init(); {49220#true} is VALID [2022-04-08 10:39:40,150 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 196 proven. 169 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:40,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328458947] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:39:40,150 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:39:40,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 35, 35] total 98 [2022-04-08 10:39:40,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:39:40,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [873197338] [2022-04-08 10:39:40,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [873197338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:39:40,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:39:40,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-08 10:39:40,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364066303] [2022-04-08 10:39:40,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:39:40,151 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 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 83 [2022-04-08 10:39:40,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:39:40,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:40,206 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:40,206 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-08 10:39:40,207 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:40,207 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-08 10:39:40,207 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1581, Invalid=7925, Unknown=0, NotChecked=0, Total=9506 [2022-04-08 10:39:40,208 INFO L87 Difference]: Start difference. First operand 95 states and 99 transitions. Second operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:42,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:42,886 INFO L93 Difference]: Finished difference Result 105 states and 108 transitions. [2022-04-08 10:39:42,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-08 10:39:42,887 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 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 83 [2022-04-08 10:39:42,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:39:42,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:42,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 100 transitions. [2022-04-08 10:39:42,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:42,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 100 transitions. [2022-04-08 10:39:42,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 100 transitions. [2022-04-08 10:39:42,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:42,974 INFO L225 Difference]: With dead ends: 105 [2022-04-08 10:39:42,974 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 10:39:42,975 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 105 SyntacticMatches, 5 SemanticMatches, 129 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7733 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=2696, Invalid=14334, Unknown=0, NotChecked=0, Total=17030 [2022-04-08 10:39:42,976 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 104 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 561 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 605 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 561 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:39:42,976 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [105 Valid, 65 Invalid, 605 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 561 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:39:42,976 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 10:39:43,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2022-04-08 10:39:43,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:39:43,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:43,931 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:43,931 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:43,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:43,932 INFO L93 Difference]: Finished difference Result 95 states and 98 transitions. [2022-04-08 10:39:43,932 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 98 transitions. [2022-04-08 10:39:43,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:43,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:43,932 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:39:43,932 INFO L87 Difference]: Start difference. First operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 95 states. [2022-04-08 10:39:43,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:39:43,933 INFO L93 Difference]: Finished difference Result 95 states and 98 transitions. [2022-04-08 10:39:43,933 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 98 transitions. [2022-04-08 10:39:43,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:39:43,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:39:43,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:39:43,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:39:43,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 82 states have (on average 1.048780487804878) internal successors, (86), 84 states have internal predecessors, (86), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:39:43,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 97 transitions. [2022-04-08 10:39:43,935 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 97 transitions. Word has length 83 [2022-04-08 10:39:43,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:39:43,935 INFO L478 AbstractCegarLoop]: Abstraction has 94 states and 97 transitions. [2022-04-08 10:39:43,935 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 1.9736842105263157) internal successors, (75), 37 states have internal predecessors, (75), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:39:43,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 97 transitions. [2022-04-08 10:39:44,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:39:44,157 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 97 transitions. [2022-04-08 10:39:44,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 10:39:44,158 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:39:44,158 INFO L499 BasicCegarLoop]: trace histogram [14, 14, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:39:44,174 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Forceful destruction successful, exit code 0 [2022-04-08 10:39:44,358 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable55 [2022-04-08 10:39:44,358 INFO L403 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:39:44,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:39:44,358 INFO L85 PathProgramCache]: Analyzing trace with hash -707646537, now seen corresponding path program 51 times [2022-04-08 10:39:44,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:39:44,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1482008312] [2022-04-08 10:39:44,362 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:39:44,362 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:39:44,363 INFO L85 PathProgramCache]: Analyzing trace with hash -707646537, now seen corresponding path program 52 times [2022-04-08 10:39:44,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:39:44,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1928148927] [2022-04-08 10:39:44,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:39:44,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:39:44,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:39:44,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {50616#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {50540#true} is VALID [2022-04-08 10:39:44,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-08 10:39:44,409 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-08 10:39:44,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:39:44,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {50540#true} ~w := #in~w;~is_divisible~0 := ~true~0; {50617#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:44,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {50617#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,684 INFO L290 TraceCheckUtils]: 3: Hoare triple {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,684 INFO L290 TraceCheckUtils]: 4: Hoare triple {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,685 INFO L290 TraceCheckUtils]: 6: Hoare triple {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:44,687 INFO L290 TraceCheckUtils]: 10: Hoare triple {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:44,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:44,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:44,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,690 INFO L290 TraceCheckUtils]: 19: Hoare triple {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:44,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:44,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,692 INFO L290 TraceCheckUtils]: 24: Hoare triple {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 28: Hoare triple {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,694 INFO L290 TraceCheckUtils]: 29: Hoare triple {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50632#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {50632#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {50633#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:44,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {50633#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:44,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {50634#(<= |correct_version_#in~w| 27)} #res := ~is_divisible~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:44,696 INFO L290 TraceCheckUtils]: 33: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:44,696 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {50634#(<= |correct_version_#in~w| 27)} {50540#true} #87#return; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:39:44,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:39:44,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:44,994 INFO L290 TraceCheckUtils]: 0: Hoare triple {50540#true} ~w := #in~w;~is_divisible~1 := ~true~0; {50635#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:44,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {50635#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,995 INFO L290 TraceCheckUtils]: 3: Hoare triple {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:44,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:44,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:44,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:44,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:44,998 INFO L290 TraceCheckUtils]: 10: Hoare triple {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:44,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:44,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:45,000 INFO L290 TraceCheckUtils]: 14: Hoare triple {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:45,000 INFO L290 TraceCheckUtils]: 15: Hoare triple {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:45,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:45,003 INFO L290 TraceCheckUtils]: 23: Hoare triple {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,004 INFO L290 TraceCheckUtils]: 24: Hoare triple {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,005 INFO L290 TraceCheckUtils]: 26: Hoare triple {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,005 INFO L290 TraceCheckUtils]: 28: Hoare triple {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {50651#(<= 28 |student_version_#in~w|)} #res := ~is_divisible~1; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,008 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {50651#(<= 28 |student_version_#in~w|)} {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} #89#return; {50541#false} is VALID [2022-04-08 10:39:45,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {50540#true} call ULTIMATE.init(); {50616#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:39:45,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {50616#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {50540#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L272 TraceCheckUtils]: 7: Hoare triple {50540#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:39:45,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {50540#true} ~w := #in~w;~is_divisible~0 := ~true~0; {50617#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:45,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {50617#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,010 INFO L290 TraceCheckUtils]: 10: Hoare triple {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {50618#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {50619#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {50620#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {50621#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:45,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:45,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {50622#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {50623#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {50624#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:45,016 INFO L290 TraceCheckUtils]: 24: Hoare triple {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:45,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {50625#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {50626#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:45,017 INFO L290 TraceCheckUtils]: 28: Hoare triple {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:45,018 INFO L290 TraceCheckUtils]: 29: Hoare triple {50627#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,018 INFO L290 TraceCheckUtils]: 30: Hoare triple {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {50628#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,019 INFO L290 TraceCheckUtils]: 32: Hoare triple {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,019 INFO L290 TraceCheckUtils]: 33: Hoare triple {50629#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,020 INFO L290 TraceCheckUtils]: 34: Hoare triple {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,020 INFO L290 TraceCheckUtils]: 35: Hoare triple {50630#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,020 INFO L290 TraceCheckUtils]: 36: Hoare triple {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,021 INFO L290 TraceCheckUtils]: 37: Hoare triple {50631#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {50632#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,021 INFO L290 TraceCheckUtils]: 38: Hoare triple {50632#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {50633#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:39:45,022 INFO L290 TraceCheckUtils]: 39: Hoare triple {50633#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 28)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:45,022 INFO L290 TraceCheckUtils]: 40: Hoare triple {50634#(<= |correct_version_#in~w| 27)} #res := ~is_divisible~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:45,022 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:45,023 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {50634#(<= |correct_version_#in~w| 27)} {50540#true} #87#return; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:39:45,023 INFO L290 TraceCheckUtils]: 43: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:39:45,024 INFO L272 TraceCheckUtils]: 44: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:39:45,024 INFO L290 TraceCheckUtils]: 45: Hoare triple {50540#true} ~w := #in~w;~is_divisible~1 := ~true~0; {50635#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:39:45,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {50635#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,025 INFO L290 TraceCheckUtils]: 47: Hoare triple {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,025 INFO L290 TraceCheckUtils]: 48: Hoare triple {50636#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {50637#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:45,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:45,027 INFO L290 TraceCheckUtils]: 52: Hoare triple {50638#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:45,027 INFO L290 TraceCheckUtils]: 53: Hoare triple {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:39:45,027 INFO L290 TraceCheckUtils]: 54: Hoare triple {50639#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:45,028 INFO L290 TraceCheckUtils]: 55: Hoare triple {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:39:45,028 INFO L290 TraceCheckUtils]: 56: Hoare triple {50640#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,028 INFO L290 TraceCheckUtils]: 57: Hoare triple {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,029 INFO L290 TraceCheckUtils]: 58: Hoare triple {50641#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:45,029 INFO L290 TraceCheckUtils]: 59: Hoare triple {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:39:45,030 INFO L290 TraceCheckUtils]: 60: Hoare triple {50642#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,030 INFO L290 TraceCheckUtils]: 61: Hoare triple {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,030 INFO L290 TraceCheckUtils]: 62: Hoare triple {50643#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,031 INFO L290 TraceCheckUtils]: 63: Hoare triple {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,031 INFO L290 TraceCheckUtils]: 64: Hoare triple {50644#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,032 INFO L290 TraceCheckUtils]: 65: Hoare triple {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,032 INFO L290 TraceCheckUtils]: 66: Hoare triple {50645#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:45,032 INFO L290 TraceCheckUtils]: 67: Hoare triple {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:39:45,033 INFO L290 TraceCheckUtils]: 68: Hoare triple {50646#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,033 INFO L290 TraceCheckUtils]: 69: Hoare triple {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,034 INFO L290 TraceCheckUtils]: 70: Hoare triple {50647#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,034 INFO L290 TraceCheckUtils]: 71: Hoare triple {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,034 INFO L290 TraceCheckUtils]: 72: Hoare triple {50648#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,035 INFO L290 TraceCheckUtils]: 73: Hoare triple {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,035 INFO L290 TraceCheckUtils]: 74: Hoare triple {50649#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,036 INFO L290 TraceCheckUtils]: 75: Hoare triple {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:39:45,036 INFO L290 TraceCheckUtils]: 76: Hoare triple {50650#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,036 INFO L290 TraceCheckUtils]: 77: Hoare triple {50651#(<= 28 |student_version_#in~w|)} #res := ~is_divisible~1; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,036 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:45,037 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {50651#(<= 28 |student_version_#in~w|)} {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} #89#return; {50541#false} is VALID [2022-04-08 10:39:45,037 INFO L290 TraceCheckUtils]: 80: Hoare triple {50541#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {50541#false} is VALID [2022-04-08 10:39:45,037 INFO L272 TraceCheckUtils]: 81: Hoare triple {50541#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {50541#false} is VALID [2022-04-08 10:39:45,038 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-08 10:39:45,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-08 10:39:45,038 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-08 10:39:45,038 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:45,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:39:45,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1928148927] [2022-04-08 10:39:45,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1928148927] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:39:45,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1266302796] [2022-04-08 10:39:45,038 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:39:45,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:39:45,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:39:45,039 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:39:45,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Waiting until timeout for monitored process [2022-04-08 10:39:45,178 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:39:45,178 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:39:45,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 10:39:45,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:39:45,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:39:46,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {50540#true} call ULTIMATE.init(); {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {50540#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {50540#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {50540#true} is VALID [2022-04-08 10:39:46,768 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-08 10:39:46,769 INFO L272 TraceCheckUtils]: 7: Hoare triple {50540#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:39:46,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {50540#true} ~w := #in~w;~is_divisible~0 := ~true~0; {50679#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:39:46,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {50679#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {50683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:39:46,770 INFO L290 TraceCheckUtils]: 10: Hoare triple {50683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {50683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:39:46,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {50683#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {50690#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:39:46,770 INFO L290 TraceCheckUtils]: 12: Hoare triple {50690#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {50690#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:39:46,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {50690#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {50697#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:39:46,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {50697#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {50697#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:39:46,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {50697#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {50704#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:39:46,772 INFO L290 TraceCheckUtils]: 16: Hoare triple {50704#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {50704#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:39:46,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {50704#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {50711#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:46,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {50711#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {50711#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:39:46,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {50711#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {50718#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:39:46,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {50718#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {50718#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:39:46,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {50718#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {50725#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:39:46,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {50725#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {50725#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:39:46,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {50725#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {50732#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:46,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {50732#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {50732#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:39:46,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {50732#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {50739#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:39:46,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {50739#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {50739#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:39:46,777 INFO L290 TraceCheckUtils]: 27: Hoare triple {50739#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {50746#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:46,777 INFO L290 TraceCheckUtils]: 28: Hoare triple {50746#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {50746#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:39:46,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {50746#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {50753#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:39:46,778 INFO L290 TraceCheckUtils]: 30: Hoare triple {50753#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {50753#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:39:46,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {50753#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {50760#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:39:46,779 INFO L290 TraceCheckUtils]: 32: Hoare triple {50760#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {50760#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:39:46,779 INFO L290 TraceCheckUtils]: 33: Hoare triple {50760#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {50767#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:39:46,779 INFO L290 TraceCheckUtils]: 34: Hoare triple {50767#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {50767#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:39:46,780 INFO L290 TraceCheckUtils]: 35: Hoare triple {50767#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {50774#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:39:46,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {50774#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {50774#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:39:46,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {50774#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {50781#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:39:46,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {50781#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !(~i~0 < ~w); {50785#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:39:46,781 INFO L290 TraceCheckUtils]: 39: Hoare triple {50785#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 28))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:46,782 INFO L290 TraceCheckUtils]: 40: Hoare triple {50634#(<= |correct_version_#in~w| 27)} #res := ~is_divisible~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:46,782 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:39:46,783 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {50634#(<= |correct_version_#in~w| 27)} {50540#true} #87#return; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:39:46,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:39:46,783 INFO L272 TraceCheckUtils]: 44: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:39:46,784 INFO L290 TraceCheckUtils]: 45: Hoare triple {50540#true} ~w := #in~w;~is_divisible~1 := ~true~0; {50807#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:39:46,784 INFO L290 TraceCheckUtils]: 46: Hoare triple {50807#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {50811#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,784 INFO L290 TraceCheckUtils]: 47: Hoare triple {50811#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50811#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,785 INFO L290 TraceCheckUtils]: 48: Hoare triple {50811#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50818#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,785 INFO L290 TraceCheckUtils]: 49: Hoare triple {50818#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50818#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,786 INFO L290 TraceCheckUtils]: 50: Hoare triple {50818#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50825#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:46,786 INFO L290 TraceCheckUtils]: 51: Hoare triple {50825#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {50825#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:39:46,787 INFO L290 TraceCheckUtils]: 52: Hoare triple {50825#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {50832#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,787 INFO L290 TraceCheckUtils]: 53: Hoare triple {50832#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50832#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,787 INFO L290 TraceCheckUtils]: 54: Hoare triple {50832#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50839#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,788 INFO L290 TraceCheckUtils]: 55: Hoare triple {50839#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50839#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,788 INFO L290 TraceCheckUtils]: 56: Hoare triple {50839#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50846#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,788 INFO L290 TraceCheckUtils]: 57: Hoare triple {50846#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50846#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,789 INFO L290 TraceCheckUtils]: 58: Hoare triple {50846#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50853#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,789 INFO L290 TraceCheckUtils]: 59: Hoare triple {50853#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50853#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,790 INFO L290 TraceCheckUtils]: 60: Hoare triple {50853#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50860#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,790 INFO L290 TraceCheckUtils]: 61: Hoare triple {50860#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50860#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,791 INFO L290 TraceCheckUtils]: 62: Hoare triple {50860#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50867#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,791 INFO L290 TraceCheckUtils]: 63: Hoare triple {50867#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50867#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,791 INFO L290 TraceCheckUtils]: 64: Hoare triple {50867#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50874#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,792 INFO L290 TraceCheckUtils]: 65: Hoare triple {50874#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50874#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,792 INFO L290 TraceCheckUtils]: 66: Hoare triple {50874#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50881#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,793 INFO L290 TraceCheckUtils]: 67: Hoare triple {50881#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50881#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,793 INFO L290 TraceCheckUtils]: 68: Hoare triple {50881#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50888#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,793 INFO L290 TraceCheckUtils]: 69: Hoare triple {50888#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50888#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,794 INFO L290 TraceCheckUtils]: 70: Hoare triple {50888#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50895#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,794 INFO L290 TraceCheckUtils]: 71: Hoare triple {50895#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50895#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,795 INFO L290 TraceCheckUtils]: 72: Hoare triple {50895#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50902#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,795 INFO L290 TraceCheckUtils]: 73: Hoare triple {50902#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {50902#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,795 INFO L290 TraceCheckUtils]: 74: Hoare triple {50902#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50909#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,796 INFO L290 TraceCheckUtils]: 75: Hoare triple {50909#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {50909#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:39:46,796 INFO L290 TraceCheckUtils]: 76: Hoare triple {50909#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:46,796 INFO L290 TraceCheckUtils]: 77: Hoare triple {50651#(<= 28 |student_version_#in~w|)} #res := ~is_divisible~1; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:46,797 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:39:46,798 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {50651#(<= 28 |student_version_#in~w|)} {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} #89#return; {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L290 TraceCheckUtils]: 80: Hoare triple {50541#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L272 TraceCheckUtils]: 81: Hoare triple {50541#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-08 10:39:46,798 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:39:46,798 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:00,322 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-08 10:40:00,322 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-08 10:40:00,322 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-08 10:40:00,322 INFO L272 TraceCheckUtils]: 81: Hoare triple {50541#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {50541#false} is VALID [2022-04-08 10:40:00,322 INFO L290 TraceCheckUtils]: 80: Hoare triple {50541#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {50541#false} is VALID [2022-04-08 10:40:00,323 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {50651#(<= 28 |student_version_#in~w|)} {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} #89#return; {50541#false} is VALID [2022-04-08 10:40:00,324 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:40:00,324 INFO L290 TraceCheckUtils]: 77: Hoare triple {50651#(<= 28 |student_version_#in~w|)} #res := ~is_divisible~1; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:40:00,324 INFO L290 TraceCheckUtils]: 76: Hoare triple {50967#(or (<= 28 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-08 10:40:00,325 INFO L290 TraceCheckUtils]: 75: Hoare triple {50967#(or (<= 28 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {50967#(or (<= 28 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:40:00,325 INFO L290 TraceCheckUtils]: 74: Hoare triple {50974#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {50967#(or (<= 28 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:40:00,325 INFO L290 TraceCheckUtils]: 73: Hoare triple {50974#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {50974#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,326 INFO L290 TraceCheckUtils]: 72: Hoare triple {50981#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50974#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,326 INFO L290 TraceCheckUtils]: 71: Hoare triple {50981#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {50981#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,327 INFO L290 TraceCheckUtils]: 70: Hoare triple {50988#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50981#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,327 INFO L290 TraceCheckUtils]: 69: Hoare triple {50988#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {50988#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,328 INFO L290 TraceCheckUtils]: 68: Hoare triple {50995#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {50988#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,328 INFO L290 TraceCheckUtils]: 67: Hoare triple {50995#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {50995#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:40:00,328 INFO L290 TraceCheckUtils]: 66: Hoare triple {51002#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {50995#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-08 10:40:00,329 INFO L290 TraceCheckUtils]: 65: Hoare triple {51002#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {51002#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,329 INFO L290 TraceCheckUtils]: 64: Hoare triple {51009#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {51002#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,329 INFO L290 TraceCheckUtils]: 63: Hoare triple {51009#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {51009#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:40:00,330 INFO L290 TraceCheckUtils]: 62: Hoare triple {51016#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {51009#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:40:00,330 INFO L290 TraceCheckUtils]: 61: Hoare triple {51016#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {51016#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,331 INFO L290 TraceCheckUtils]: 60: Hoare triple {51023#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {51016#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,331 INFO L290 TraceCheckUtils]: 59: Hoare triple {51023#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {51023#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,332 INFO L290 TraceCheckUtils]: 58: Hoare triple {51030#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {51023#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,332 INFO L290 TraceCheckUtils]: 57: Hoare triple {51030#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {51030#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:40:00,332 INFO L290 TraceCheckUtils]: 56: Hoare triple {51037#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {51030#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:40:00,333 INFO L290 TraceCheckUtils]: 55: Hoare triple {51037#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {51037#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:40:00,333 INFO L290 TraceCheckUtils]: 54: Hoare triple {51044#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {51037#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:40:00,334 INFO L290 TraceCheckUtils]: 53: Hoare triple {51044#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {51044#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,334 INFO L290 TraceCheckUtils]: 52: Hoare triple {51051#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {51044#(or (<= 28 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:40:00,334 INFO L290 TraceCheckUtils]: 51: Hoare triple {51051#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {51051#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,335 INFO L290 TraceCheckUtils]: 50: Hoare triple {51058#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {51051#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,335 INFO L290 TraceCheckUtils]: 49: Hoare triple {51058#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {51058#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,336 INFO L290 TraceCheckUtils]: 48: Hoare triple {51065#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 28 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {51058#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,336 INFO L290 TraceCheckUtils]: 47: Hoare triple {51065#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 28 |student_version_#in~w|))} assume !!(~i~1 < ~w); {51065#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,336 INFO L290 TraceCheckUtils]: 46: Hoare triple {51072#(or (< student_version_~w 28) (<= 28 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {51065#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,337 INFO L290 TraceCheckUtils]: 45: Hoare triple {50540#true} ~w := #in~w;~is_divisible~1 := ~true~0; {51072#(or (< student_version_~w 28) (<= 28 |student_version_#in~w|))} is VALID [2022-04-08 10:40:00,337 INFO L272 TraceCheckUtils]: 44: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:40:00,337 INFO L290 TraceCheckUtils]: 43: Hoare triple {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:40:00,338 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {50634#(<= |correct_version_#in~w| 27)} {50540#true} #87#return; {50580#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 27)))} is VALID [2022-04-08 10:40:00,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:40:00,339 INFO L290 TraceCheckUtils]: 40: Hoare triple {50634#(<= |correct_version_#in~w| 27)} #res := ~is_divisible~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:40:00,339 INFO L290 TraceCheckUtils]: 39: Hoare triple {51094#(or (<= |correct_version_#in~w| 27) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-08 10:40:00,339 INFO L290 TraceCheckUtils]: 38: Hoare triple {51098#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 27) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {51094#(or (<= |correct_version_#in~w| 27) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:40:00,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {51102#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {51098#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 27) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:40:00,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {51102#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {51102#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:40:00,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {51109#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51102#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:40:00,341 INFO L290 TraceCheckUtils]: 34: Hoare triple {51109#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51109#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,341 INFO L290 TraceCheckUtils]: 33: Hoare triple {51116#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {51109#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {51116#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {51116#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:40:00,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {51123#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51116#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:40:00,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {51123#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51123#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,343 INFO L290 TraceCheckUtils]: 29: Hoare triple {51130#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {51123#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,343 INFO L290 TraceCheckUtils]: 28: Hoare triple {51130#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {51130#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:40:00,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {51137#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {51130#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-08 10:40:00,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {51137#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {51137#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:40:00,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {51144#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51137#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:40:00,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {51144#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51144#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {51151#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51144#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {51151#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51151#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {51158#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51151#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {51158#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51158#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {51165#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51158#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {51165#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51165#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {51172#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {51165#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {51172#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {51172#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:40:00,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {51179#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51172#(or (<= |correct_version_#in~w| 27) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:40:00,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {51179#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51179#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,350 INFO L290 TraceCheckUtils]: 13: Hoare triple {51186#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51179#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,350 INFO L290 TraceCheckUtils]: 12: Hoare triple {51186#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51186#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {51193#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 27))} ~i~0 := 2 + ~i~0; {51186#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,351 INFO L290 TraceCheckUtils]: 10: Hoare triple {51193#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 27))} assume !!(~i~0 < ~w); {51193#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {51200#(or (<= |correct_version_#in~w| 27) (<= 28 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {51193#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 27))} is VALID [2022-04-08 10:40:00,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {50540#true} ~w := #in~w;~is_divisible~0 := ~true~0; {51200#(or (<= |correct_version_#in~w| 27) (<= 28 correct_version_~w))} is VALID [2022-04-08 10:40:00,352 INFO L272 TraceCheckUtils]: 7: Hoare triple {50540#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {50540#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L290 TraceCheckUtils]: 1: Hoare triple {50540#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {50540#true} call ULTIMATE.init(); {50540#true} is VALID [2022-04-08 10:40:00,352 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:00,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1266302796] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:40:00,353 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:40:00,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 38, 38] total 105 [2022-04-08 10:40:00,353 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:40:00,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1482008312] [2022-04-08 10:40:00,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1482008312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:40:00,353 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:40:00,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [39] imperfect sequences [] total 39 [2022-04-08 10:40:00,353 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [591583024] [2022-04-08 10:40:00,353 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:40:00,354 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 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 85 [2022-04-08 10:40:00,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:40:00,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:00,410 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-08 10:40:00,411 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-08 10:40:00,411 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:00,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-08 10:40:00,412 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1757, Invalid=9163, Unknown=0, NotChecked=0, Total=10920 [2022-04-08 10:40:00,412 INFO L87 Difference]: Start difference. First operand 94 states and 97 transitions. Second operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:03,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:03,477 INFO L93 Difference]: Finished difference Result 114 states and 121 transitions. [2022-04-08 10:40:03,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-08 10:40:03,478 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 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 85 [2022-04-08 10:40:03,478 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:03,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:03,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 116 transitions. [2022-04-08 10:40:03,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:03,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 116 transitions. [2022-04-08 10:40:03,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 116 transitions. [2022-04-08 10:40:03,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:03,575 INFO L225 Difference]: With dead ends: 114 [2022-04-08 10:40:03,575 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 10:40:03,576 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 103 SyntacticMatches, 5 SemanticMatches, 139 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8945 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=3022, Invalid=16718, Unknown=0, NotChecked=0, Total=19740 [2022-04-08 10:40:03,576 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 121 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 125 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 589 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:03,577 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [125 Valid, 57 Invalid, 589 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:40:03,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 10:40:04,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 97. [2022-04-08 10:40:04,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:04,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:04,609 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:04,610 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:04,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:04,611 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-04-08 10:40:04,611 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-04-08 10:40:04,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:04,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:04,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 103 states. [2022-04-08 10:40:04,611 INFO L87 Difference]: Start difference. First operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 103 states. [2022-04-08 10:40:04,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:04,618 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-04-08 10:40:04,618 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-04-08 10:40:04,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:04,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:04,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:04,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:04,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 85 states have (on average 1.0588235294117647) internal successors, (90), 87 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:04,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 101 transitions. [2022-04-08 10:40:04,620 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 101 transitions. Word has length 85 [2022-04-08 10:40:04,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:04,620 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 101 transitions. [2022-04-08 10:40:04,620 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:04,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 101 transitions. [2022-04-08 10:40:04,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:04,882 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 101 transitions. [2022-04-08 10:40:04,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 10:40:04,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:04,882 INFO L499 BasicCegarLoop]: trace histogram [14, 14, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:04,898 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Ended with exit code 0 [2022-04-08 10:40:05,082 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 54 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable56 [2022-04-08 10:40:05,083 INFO L403 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:05,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:05,083 INFO L85 PathProgramCache]: Analyzing trace with hash 540567795, now seen corresponding path program 51 times [2022-04-08 10:40:05,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:05,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [388849725] [2022-04-08 10:40:05,085 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:40:05,085 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:40:05,085 INFO L85 PathProgramCache]: Analyzing trace with hash 540567795, now seen corresponding path program 52 times [2022-04-08 10:40:05,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:05,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890545168] [2022-04-08 10:40:05,086 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:05,086 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:05,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:05,137 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:05,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:05,140 INFO L290 TraceCheckUtils]: 0: Hoare triple {52003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {51927#true} is VALID [2022-04-08 10:40:05,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-08 10:40:05,140 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-08 10:40:05,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:40:05,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:05,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {51927#true} ~w := #in~w;~is_divisible~0 := ~true~0; {52004#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:05,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {52004#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,390 INFO L290 TraceCheckUtils]: 4: Hoare triple {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,391 INFO L290 TraceCheckUtils]: 6: Hoare triple {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,394 INFO L290 TraceCheckUtils]: 14: Hoare triple {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,394 INFO L290 TraceCheckUtils]: 15: Hoare triple {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,395 INFO L290 TraceCheckUtils]: 17: Hoare triple {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,398 INFO L290 TraceCheckUtils]: 24: Hoare triple {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,400 INFO L290 TraceCheckUtils]: 28: Hoare triple {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,400 INFO L290 TraceCheckUtils]: 29: Hoare triple {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !(~i~0 < ~w); {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !(~i~0 != ~w); {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} #res := ~is_divisible~0; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,402 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {52020#(<= 28 |correct_version_#in~w|)} {51927#true} #87#return; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:05,402 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:40:05,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:05,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {51927#true} ~w := #in~w;~is_divisible~1 := ~true~0; {52021#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:05,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {52021#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:05,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:05,805 INFO L290 TraceCheckUtils]: 3: Hoare triple {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,805 INFO L290 TraceCheckUtils]: 4: Hoare triple {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:05,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:05,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,807 INFO L290 TraceCheckUtils]: 10: Hoare triple {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:05,808 INFO L290 TraceCheckUtils]: 12: Hoare triple {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:05,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:05,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:05,810 INFO L290 TraceCheckUtils]: 17: Hoare triple {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:05,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:05,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:05,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:05,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:05,813 INFO L290 TraceCheckUtils]: 24: Hoare triple {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:05,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:05,814 INFO L290 TraceCheckUtils]: 26: Hoare triple {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:05,814 INFO L290 TraceCheckUtils]: 27: Hoare triple {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,815 INFO L290 TraceCheckUtils]: 28: Hoare triple {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,815 INFO L290 TraceCheckUtils]: 29: Hoare triple {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52036#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,815 INFO L290 TraceCheckUtils]: 30: Hoare triple {52036#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {52037#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:40:05,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {52037#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,816 INFO L290 TraceCheckUtils]: 32: Hoare triple {52038#(<= |student_version_#in~w| 27)} #res := ~is_divisible~1; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,817 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {52038#(<= |student_version_#in~w| 27)} {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} #89#return; {51928#false} is VALID [2022-04-08 10:40:05,818 INFO L272 TraceCheckUtils]: 0: Hoare triple {51927#true} call ULTIMATE.init(); {52003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:05,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {52003#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L290 TraceCheckUtils]: 5: Hoare triple {51927#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-08 10:40:05,818 INFO L272 TraceCheckUtils]: 7: Hoare triple {51927#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:05,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {51927#true} ~w := #in~w;~is_divisible~0 := ~true~0; {52004#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:05,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {52004#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,819 INFO L290 TraceCheckUtils]: 10: Hoare triple {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,820 INFO L290 TraceCheckUtils]: 11: Hoare triple {52005#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,820 INFO L290 TraceCheckUtils]: 12: Hoare triple {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {52006#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,821 INFO L290 TraceCheckUtils]: 14: Hoare triple {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,822 INFO L290 TraceCheckUtils]: 15: Hoare triple {52007#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,822 INFO L290 TraceCheckUtils]: 16: Hoare triple {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,822 INFO L290 TraceCheckUtils]: 17: Hoare triple {52008#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {52009#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,824 INFO L290 TraceCheckUtils]: 21: Hoare triple {52010#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,825 INFO L290 TraceCheckUtils]: 23: Hoare triple {52011#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {52012#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,826 INFO L290 TraceCheckUtils]: 26: Hoare triple {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {52013#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,827 INFO L290 TraceCheckUtils]: 28: Hoare triple {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {52014#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,827 INFO L290 TraceCheckUtils]: 30: Hoare triple {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {52015#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,829 INFO L290 TraceCheckUtils]: 33: Hoare triple {52016#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:05,829 INFO L290 TraceCheckUtils]: 35: Hoare triple {52017#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {52018#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,830 INFO L290 TraceCheckUtils]: 38: Hoare triple {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !(~i~0 < ~w); {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:05,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {52019#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !(~i~0 != ~w); {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,831 INFO L290 TraceCheckUtils]: 40: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} #res := ~is_divisible~0; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,831 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:05,832 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52020#(<= 28 |correct_version_#in~w|)} {51927#true} #87#return; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:05,833 INFO L290 TraceCheckUtils]: 43: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:05,833 INFO L272 TraceCheckUtils]: 44: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:05,833 INFO L290 TraceCheckUtils]: 45: Hoare triple {51927#true} ~w := #in~w;~is_divisible~1 := ~true~0; {52021#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:05,833 INFO L290 TraceCheckUtils]: 46: Hoare triple {52021#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:05,834 INFO L290 TraceCheckUtils]: 47: Hoare triple {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:05,834 INFO L290 TraceCheckUtils]: 48: Hoare triple {52022#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,835 INFO L290 TraceCheckUtils]: 49: Hoare triple {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,835 INFO L290 TraceCheckUtils]: 50: Hoare triple {52023#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,835 INFO L290 TraceCheckUtils]: 51: Hoare triple {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,836 INFO L290 TraceCheckUtils]: 52: Hoare triple {52024#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:05,836 INFO L290 TraceCheckUtils]: 53: Hoare triple {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:05,837 INFO L290 TraceCheckUtils]: 54: Hoare triple {52025#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,837 INFO L290 TraceCheckUtils]: 55: Hoare triple {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,837 INFO L290 TraceCheckUtils]: 56: Hoare triple {52026#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:05,838 INFO L290 TraceCheckUtils]: 57: Hoare triple {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:05,838 INFO L290 TraceCheckUtils]: 58: Hoare triple {52027#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,838 INFO L290 TraceCheckUtils]: 59: Hoare triple {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,839 INFO L290 TraceCheckUtils]: 60: Hoare triple {52028#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:05,839 INFO L290 TraceCheckUtils]: 61: Hoare triple {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:05,840 INFO L290 TraceCheckUtils]: 62: Hoare triple {52029#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:05,840 INFO L290 TraceCheckUtils]: 63: Hoare triple {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:05,840 INFO L290 TraceCheckUtils]: 64: Hoare triple {52030#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:05,841 INFO L290 TraceCheckUtils]: 65: Hoare triple {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:05,841 INFO L290 TraceCheckUtils]: 66: Hoare triple {52031#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,842 INFO L290 TraceCheckUtils]: 67: Hoare triple {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,842 INFO L290 TraceCheckUtils]: 68: Hoare triple {52032#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:05,842 INFO L290 TraceCheckUtils]: 69: Hoare triple {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:05,843 INFO L290 TraceCheckUtils]: 70: Hoare triple {52033#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:05,843 INFO L290 TraceCheckUtils]: 71: Hoare triple {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:05,844 INFO L290 TraceCheckUtils]: 72: Hoare triple {52034#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,844 INFO L290 TraceCheckUtils]: 73: Hoare triple {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,844 INFO L290 TraceCheckUtils]: 74: Hoare triple {52035#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {52036#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:05,845 INFO L290 TraceCheckUtils]: 75: Hoare triple {52036#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {52037#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:40:05,845 INFO L290 TraceCheckUtils]: 76: Hoare triple {52037#(and (or (<= student_version_~i~1 28) (not (<= (+ student_version_~w 1) student_version_~i~1))) (= |student_version_#in~w| student_version_~w) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,846 INFO L290 TraceCheckUtils]: 77: Hoare triple {52038#(<= |student_version_#in~w| 27)} #res := ~is_divisible~1; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,846 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:05,847 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {52038#(<= |student_version_#in~w| 27)} {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} #89#return; {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L290 TraceCheckUtils]: 80: Hoare triple {51928#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L272 TraceCheckUtils]: 81: Hoare triple {51928#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-08 10:40:05,847 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:05,847 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:05,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890545168] [2022-04-08 10:40:05,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [890545168] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:05,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1863582802] [2022-04-08 10:40:05,848 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:40:05,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:05,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:05,849 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:05,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Waiting until timeout for monitored process [2022-04-08 10:40:05,999 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:40:06,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:06,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 10:40:06,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:06,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:07,941 INFO L272 TraceCheckUtils]: 0: Hoare triple {51927#true} call ULTIMATE.init(); {51927#true} is VALID [2022-04-08 10:40:07,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {51927#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {51927#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L272 TraceCheckUtils]: 7: Hoare triple {51927#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:07,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {51927#true} ~w := #in~w;~is_divisible~0 := ~true~0; {52066#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:40:07,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {52066#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {52070#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,943 INFO L290 TraceCheckUtils]: 10: Hoare triple {52070#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {52070#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {52070#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52077#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {52077#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {52077#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,944 INFO L290 TraceCheckUtils]: 13: Hoare triple {52077#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52084#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {52084#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {52084#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {52084#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52091#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:07,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {52091#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52091#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:07,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {52091#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52098#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {52098#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {52098#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {52098#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52105#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:07,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {52105#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52105#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:07,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {52105#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52112#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {52112#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {52112#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {52112#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52119#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {52119#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {52119#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {52119#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52126#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {52126#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {52126#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {52126#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52133#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,951 INFO L290 TraceCheckUtils]: 28: Hoare triple {52133#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {52133#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {52133#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52140#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,951 INFO L290 TraceCheckUtils]: 30: Hoare triple {52140#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {52140#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {52140#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52147#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {52147#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {52147#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,953 INFO L290 TraceCheckUtils]: 33: Hoare triple {52147#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52154#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {52154#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {52154#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {52154#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52161#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {52161#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {52161#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {52161#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {52168#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,955 INFO L290 TraceCheckUtils]: 38: Hoare triple {52168#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !(~i~0 < ~w); {52168#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:07,955 INFO L290 TraceCheckUtils]: 39: Hoare triple {52168#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !(~i~0 != ~w); {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:07,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} #res := ~is_divisible~0; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:07,956 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:07,957 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52020#(<= 28 |correct_version_#in~w|)} {51927#true} #87#return; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:07,957 INFO L290 TraceCheckUtils]: 43: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:07,957 INFO L272 TraceCheckUtils]: 44: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:07,958 INFO L290 TraceCheckUtils]: 45: Hoare triple {51927#true} ~w := #in~w;~is_divisible~1 := ~true~0; {52193#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:07,958 INFO L290 TraceCheckUtils]: 46: Hoare triple {52193#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {52197#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:07,958 INFO L290 TraceCheckUtils]: 47: Hoare triple {52197#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {52197#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:07,959 INFO L290 TraceCheckUtils]: 48: Hoare triple {52197#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {52204#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:40:07,959 INFO L290 TraceCheckUtils]: 49: Hoare triple {52204#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {52204#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:40:07,960 INFO L290 TraceCheckUtils]: 50: Hoare triple {52204#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {52211#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:40:07,960 INFO L290 TraceCheckUtils]: 51: Hoare triple {52211#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {52211#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:40:07,960 INFO L290 TraceCheckUtils]: 52: Hoare triple {52211#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {52218#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:07,961 INFO L290 TraceCheckUtils]: 53: Hoare triple {52218#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {52218#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:07,961 INFO L290 TraceCheckUtils]: 54: Hoare triple {52218#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {52225#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:40:07,961 INFO L290 TraceCheckUtils]: 55: Hoare triple {52225#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {52225#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:40:07,962 INFO L290 TraceCheckUtils]: 56: Hoare triple {52225#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {52232#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:07,962 INFO L290 TraceCheckUtils]: 57: Hoare triple {52232#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {52232#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:07,963 INFO L290 TraceCheckUtils]: 58: Hoare triple {52232#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {52239#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:40:07,963 INFO L290 TraceCheckUtils]: 59: Hoare triple {52239#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {52239#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:40:07,964 INFO L290 TraceCheckUtils]: 60: Hoare triple {52239#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {52246#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:07,964 INFO L290 TraceCheckUtils]: 61: Hoare triple {52246#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {52246#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:07,964 INFO L290 TraceCheckUtils]: 62: Hoare triple {52246#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {52253#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:07,965 INFO L290 TraceCheckUtils]: 63: Hoare triple {52253#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {52253#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:07,965 INFO L290 TraceCheckUtils]: 64: Hoare triple {52253#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {52260#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:07,966 INFO L290 TraceCheckUtils]: 65: Hoare triple {52260#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {52260#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:07,966 INFO L290 TraceCheckUtils]: 66: Hoare triple {52260#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {52267#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:40:07,966 INFO L290 TraceCheckUtils]: 67: Hoare triple {52267#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {52267#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:40:07,967 INFO L290 TraceCheckUtils]: 68: Hoare triple {52267#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {52274#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:07,967 INFO L290 TraceCheckUtils]: 69: Hoare triple {52274#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {52274#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:07,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {52274#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {52281#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:07,968 INFO L290 TraceCheckUtils]: 71: Hoare triple {52281#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {52281#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:07,969 INFO L290 TraceCheckUtils]: 72: Hoare triple {52281#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {52288#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:40:07,969 INFO L290 TraceCheckUtils]: 73: Hoare triple {52288#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {52288#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:40:07,969 INFO L290 TraceCheckUtils]: 74: Hoare triple {52288#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {52295#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:40:07,970 INFO L290 TraceCheckUtils]: 75: Hoare triple {52295#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !(~i~1 < ~w); {52299#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:40:07,970 INFO L290 TraceCheckUtils]: 76: Hoare triple {52299#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 28))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:07,970 INFO L290 TraceCheckUtils]: 77: Hoare triple {52038#(<= |student_version_#in~w| 27)} #res := ~is_divisible~1; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:07,971 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:07,972 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {52038#(<= |student_version_#in~w| 27)} {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} #89#return; {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L290 TraceCheckUtils]: 80: Hoare triple {51928#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L272 TraceCheckUtils]: 81: Hoare triple {51928#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-08 10:40:07,972 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:07,972 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:19,599 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-08 10:40:19,599 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-08 10:40:19,599 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-08 10:40:19,599 INFO L272 TraceCheckUtils]: 81: Hoare triple {51928#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {51928#false} is VALID [2022-04-08 10:40:19,599 INFO L290 TraceCheckUtils]: 80: Hoare triple {51928#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {51928#false} is VALID [2022-04-08 10:40:19,600 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {52038#(<= |student_version_#in~w| 27)} {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} #89#return; {51928#false} is VALID [2022-04-08 10:40:19,601 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:19,601 INFO L290 TraceCheckUtils]: 77: Hoare triple {52038#(<= |student_version_#in~w| 27)} #res := ~is_divisible~1; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:19,601 INFO L290 TraceCheckUtils]: 76: Hoare triple {52354#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 27))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-08 10:40:19,602 INFO L290 TraceCheckUtils]: 75: Hoare triple {52358#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 27) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {52354#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,602 INFO L290 TraceCheckUtils]: 74: Hoare triple {52362#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52358#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 27) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:40:19,603 INFO L290 TraceCheckUtils]: 73: Hoare triple {52362#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52362#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,603 INFO L290 TraceCheckUtils]: 72: Hoare triple {52369#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52362#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,603 INFO L290 TraceCheckUtils]: 71: Hoare triple {52369#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52369#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,604 INFO L290 TraceCheckUtils]: 70: Hoare triple {52376#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52369#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,604 INFO L290 TraceCheckUtils]: 69: Hoare triple {52376#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52376#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,605 INFO L290 TraceCheckUtils]: 68: Hoare triple {52383#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52376#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,605 INFO L290 TraceCheckUtils]: 67: Hoare triple {52383#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52383#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,606 INFO L290 TraceCheckUtils]: 66: Hoare triple {52390#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52383#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,606 INFO L290 TraceCheckUtils]: 65: Hoare triple {52390#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52390#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,606 INFO L290 TraceCheckUtils]: 64: Hoare triple {52397#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52390#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,607 INFO L290 TraceCheckUtils]: 63: Hoare triple {52397#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52397#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {52404#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52397#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,607 INFO L290 TraceCheckUtils]: 61: Hoare triple {52404#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52404#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,608 INFO L290 TraceCheckUtils]: 60: Hoare triple {52411#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52404#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,608 INFO L290 TraceCheckUtils]: 59: Hoare triple {52411#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52411#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,609 INFO L290 TraceCheckUtils]: 58: Hoare triple {52418#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52411#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,609 INFO L290 TraceCheckUtils]: 57: Hoare triple {52418#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52418#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,610 INFO L290 TraceCheckUtils]: 56: Hoare triple {52425#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52418#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,610 INFO L290 TraceCheckUtils]: 55: Hoare triple {52425#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52425#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,610 INFO L290 TraceCheckUtils]: 54: Hoare triple {52432#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52425#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,611 INFO L290 TraceCheckUtils]: 53: Hoare triple {52432#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52432#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,611 INFO L290 TraceCheckUtils]: 52: Hoare triple {52439#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52432#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {52439#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52439#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {52446#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52439#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,612 INFO L290 TraceCheckUtils]: 49: Hoare triple {52446#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52446#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {52453#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 27))} ~i~1 := 2 + ~i~1; {52446#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {52453#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 27))} assume !!(~i~1 < ~w); {52453#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,614 INFO L290 TraceCheckUtils]: 46: Hoare triple {52460#(or (<= 28 student_version_~w) (<= |student_version_#in~w| 27))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {52453#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {51927#true} ~w := #in~w;~is_divisible~1 := ~true~0; {52460#(or (<= 28 student_version_~w) (<= |student_version_#in~w| 27))} is VALID [2022-04-08 10:40:19,614 INFO L272 TraceCheckUtils]: 44: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:19,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:19,616 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {52020#(<= 28 |correct_version_#in~w|)} {51927#true} #87#return; {51967#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 28) main_~w~0))} is VALID [2022-04-08 10:40:19,616 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:19,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} #res := ~is_divisible~0; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:19,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {52482#(or (<= 28 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:19,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {52482#(or (<= 28 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {52482#(or (<= 28 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:40:19,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {52489#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52482#(or (<= 28 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:40:19,618 INFO L290 TraceCheckUtils]: 36: Hoare triple {52489#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52489#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,618 INFO L290 TraceCheckUtils]: 35: Hoare triple {52496#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {52489#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {52496#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {52496#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:40:19,619 INFO L290 TraceCheckUtils]: 33: Hoare triple {52503#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52496#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:40:19,619 INFO L290 TraceCheckUtils]: 32: Hoare triple {52503#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52503#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {52510#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52503#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {52510#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52510#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {52517#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52510#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {52517#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52517#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {52524#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {52517#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,622 INFO L290 TraceCheckUtils]: 26: Hoare triple {52524#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {52524#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:40:19,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {52531#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {52524#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:40:19,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {52531#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {52531#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:40:19,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {52538#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {52531#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:40:19,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {52538#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {52538#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:40:19,624 INFO L290 TraceCheckUtils]: 21: Hoare triple {52545#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {52538#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:40:19,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {52545#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {52545#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:40:19,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {52552#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52545#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:40:19,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {52552#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52552#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,625 INFO L290 TraceCheckUtils]: 17: Hoare triple {52559#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {52552#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,626 INFO L290 TraceCheckUtils]: 16: Hoare triple {52559#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {52559#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:40:19,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {52566#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {52559#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:40:19,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {52566#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {52566#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:40:19,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {52573#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52566#(or (<= 28 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:40:19,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {52573#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52573#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {52580#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 28 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {52573#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {52580#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 28 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {52580#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {52587#(or (< correct_version_~w 28) (<= 28 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {52580#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {51927#true} ~w := #in~w;~is_divisible~0 := ~true~0; {52587#(or (< correct_version_~w 28) (<= 28 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:19,629 INFO L272 TraceCheckUtils]: 7: Hoare triple {51927#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {51927#true} is VALID [2022-04-08 10:40:19,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-08 10:40:19,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {51927#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {51927#true} is VALID [2022-04-08 10:40:19,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-08 10:40:19,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-08 10:40:19,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-08 10:40:19,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {51927#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {51927#true} is VALID [2022-04-08 10:40:19,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {51927#true} call ULTIMATE.init(); {51927#true} is VALID [2022-04-08 10:40:19,630 INFO L134 CoverageAnalysis]: Checked inductivity of 392 backedges. 196 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:19,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1863582802] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:40:19,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:40:19,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 38, 38] total 105 [2022-04-08 10:40:19,630 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:40:19,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [388849725] [2022-04-08 10:40:19,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [388849725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:40:19,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:40:19,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [39] imperfect sequences [] total 39 [2022-04-08 10:40:19,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [413319322] [2022-04-08 10:40:19,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:40:19,631 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 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 85 [2022-04-08 10:40:19,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:40:19,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:19,688 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-08 10:40:19,688 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-08 10:40:19,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:19,689 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-08 10:40:19,689 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1757, Invalid=9163, Unknown=0, NotChecked=0, Total=10920 [2022-04-08 10:40:19,690 INFO L87 Difference]: Start difference. First operand 97 states and 101 transitions. Second operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:22,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:22,766 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2022-04-08 10:40:22,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-08 10:40:22,767 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 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 85 [2022-04-08 10:40:22,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:22,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:22,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 109 transitions. [2022-04-08 10:40:22,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:22,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 109 transitions. [2022-04-08 10:40:22,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 109 transitions. [2022-04-08 10:40:22,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:22,859 INFO L225 Difference]: With dead ends: 109 [2022-04-08 10:40:22,859 INFO L226 Difference]: Without dead ends: 100 [2022-04-08 10:40:22,860 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 103 SyntacticMatches, 5 SemanticMatches, 139 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8960 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=3022, Invalid=16718, Unknown=0, NotChecked=0, Total=19740 [2022-04-08 10:40:22,860 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 110 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 569 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 614 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 569 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:22,860 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 65 Invalid, 614 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 569 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:40:22,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-08 10:40:23,939 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2022-04-08 10:40:23,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:23,939 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:23,939 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:23,939 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:23,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:23,940 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-04-08 10:40:23,940 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-08 10:40:23,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:23,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:23,941 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 100 states. [2022-04-08 10:40:23,941 INFO L87 Difference]: Start difference. First operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 100 states. [2022-04-08 10:40:23,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:23,942 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-04-08 10:40:23,942 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-08 10:40:23,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:23,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:23,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:23,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:23,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 88 states have (on average 1.0681818181818181) internal successors, (94), 90 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:23,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 105 transitions. [2022-04-08 10:40:23,943 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 105 transitions. Word has length 85 [2022-04-08 10:40:23,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:23,943 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 105 transitions. [2022-04-08 10:40:23,943 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 39 states have (on average 1.9743589743589745) internal successors, (77), 38 states have internal predecessors, (77), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:23,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 105 transitions. [2022-04-08 10:40:24,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:24,180 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-08 10:40:24,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-08 10:40:24,180 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:24,180 INFO L499 BasicCegarLoop]: trace histogram [15, 15, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:24,197 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Forceful destruction successful, exit code 0 [2022-04-08 10:40:24,380 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable57,55 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:24,381 INFO L403 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:24,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:24,381 INFO L85 PathProgramCache]: Analyzing trace with hash -1932612875, now seen corresponding path program 53 times [2022-04-08 10:40:24,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:24,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [283288714] [2022-04-08 10:40:24,383 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:40:24,383 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:40:24,383 INFO L85 PathProgramCache]: Analyzing trace with hash -1932612875, now seen corresponding path program 54 times [2022-04-08 10:40:24,383 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:24,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [187712806] [2022-04-08 10:40:24,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:24,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:24,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:24,432 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:24,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:24,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {53382#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {53304#true} is VALID [2022-04-08 10:40:24,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-08 10:40:24,436 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-08 10:40:24,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:40:24,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:24,691 INFO L290 TraceCheckUtils]: 0: Hoare triple {53304#true} ~w := #in~w;~is_divisible~0 := ~true~0; {53383#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:24,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {53383#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,693 INFO L290 TraceCheckUtils]: 3: Hoare triple {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,693 INFO L290 TraceCheckUtils]: 4: Hoare triple {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,694 INFO L290 TraceCheckUtils]: 6: Hoare triple {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:24,696 INFO L290 TraceCheckUtils]: 10: Hoare triple {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:24,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:24,698 INFO L290 TraceCheckUtils]: 16: Hoare triple {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:24,698 INFO L290 TraceCheckUtils]: 17: Hoare triple {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,699 INFO L290 TraceCheckUtils]: 18: Hoare triple {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,699 INFO L290 TraceCheckUtils]: 19: Hoare triple {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:24,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:24,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,700 INFO L290 TraceCheckUtils]: 22: Hoare triple {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,701 INFO L290 TraceCheckUtils]: 23: Hoare triple {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,702 INFO L290 TraceCheckUtils]: 27: Hoare triple {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,703 INFO L290 TraceCheckUtils]: 28: Hoare triple {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53398#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {53398#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {53399#(and (<= correct_version_~w 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:24,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {53399#(and (<= correct_version_~w 28) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:24,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {53400#(<= |correct_version_#in~w| 28)} #res := ~is_divisible~0; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:24,705 INFO L290 TraceCheckUtils]: 33: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:24,705 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {53400#(<= |correct_version_#in~w| 28)} {53304#true} #87#return; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:24,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 10:40:24,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:25,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {53304#true} ~w := #in~w;~is_divisible~1 := ~true~0; {53401#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:25,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {53401#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,007 INFO L290 TraceCheckUtils]: 3: Hoare triple {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,007 INFO L290 TraceCheckUtils]: 4: Hoare triple {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:25,008 INFO L290 TraceCheckUtils]: 6: Hoare triple {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:25,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:25,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:25,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:25,010 INFO L290 TraceCheckUtils]: 10: Hoare triple {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:25,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,010 INFO L290 TraceCheckUtils]: 12: Hoare triple {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:25,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:25,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,013 INFO L290 TraceCheckUtils]: 19: Hoare triple {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:25,014 INFO L290 TraceCheckUtils]: 22: Hoare triple {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:25,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,017 INFO L290 TraceCheckUtils]: 28: Hoare triple {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53416#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,018 INFO L290 TraceCheckUtils]: 30: Hoare triple {53416#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} ~i~1 := 2 + ~i~1; {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} assume !(~i~1 < ~w); {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,019 INFO L290 TraceCheckUtils]: 33: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,019 INFO L290 TraceCheckUtils]: 34: Hoare triple {53418#(<= 29 |student_version_#in~w|)} #res := ~is_divisible~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,020 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53418#(<= 29 |student_version_#in~w|)} {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} #89#return; {53305#false} is VALID [2022-04-08 10:40:25,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {53304#true} call ULTIMATE.init(); {53382#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:25,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {53382#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {53304#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-08 10:40:25,021 INFO L272 TraceCheckUtils]: 7: Hoare triple {53304#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:25,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {53304#true} ~w := #in~w;~is_divisible~0 := ~true~0; {53383#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:25,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {53383#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,022 INFO L290 TraceCheckUtils]: 10: Hoare triple {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {53384#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {53385#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {53386#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {53387#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:25,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:25,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {53388#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {53389#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,027 INFO L290 TraceCheckUtils]: 22: Hoare triple {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {53390#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:25,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:25,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {53391#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {53392#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:25,029 INFO L290 TraceCheckUtils]: 28: Hoare triple {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:25,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {53393#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {53394#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,031 INFO L290 TraceCheckUtils]: 33: Hoare triple {53395#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,041 INFO L290 TraceCheckUtils]: 34: Hoare triple {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {53396#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,042 INFO L290 TraceCheckUtils]: 36: Hoare triple {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {53397#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {53398#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {53398#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {53399#(and (<= correct_version_~w 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:25,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {53399#(and (<= correct_version_~w 28) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:25,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {53400#(<= |correct_version_#in~w| 28)} #res := ~is_divisible~0; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:25,044 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:25,045 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {53400#(<= |correct_version_#in~w| 28)} {53304#true} #87#return; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:25,045 INFO L290 TraceCheckUtils]: 43: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:25,045 INFO L272 TraceCheckUtils]: 44: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:25,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {53304#true} ~w := #in~w;~is_divisible~1 := ~true~0; {53401#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:25,046 INFO L290 TraceCheckUtils]: 46: Hoare triple {53401#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,046 INFO L290 TraceCheckUtils]: 47: Hoare triple {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,047 INFO L290 TraceCheckUtils]: 48: Hoare triple {53402#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,047 INFO L290 TraceCheckUtils]: 49: Hoare triple {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,048 INFO L290 TraceCheckUtils]: 50: Hoare triple {53403#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:25,048 INFO L290 TraceCheckUtils]: 51: Hoare triple {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:25,048 INFO L290 TraceCheckUtils]: 52: Hoare triple {53404#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:25,049 INFO L290 TraceCheckUtils]: 53: Hoare triple {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:25,049 INFO L290 TraceCheckUtils]: 54: Hoare triple {53405#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:25,050 INFO L290 TraceCheckUtils]: 55: Hoare triple {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:25,050 INFO L290 TraceCheckUtils]: 56: Hoare triple {53406#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,050 INFO L290 TraceCheckUtils]: 57: Hoare triple {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,051 INFO L290 TraceCheckUtils]: 58: Hoare triple {53407#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:25,051 INFO L290 TraceCheckUtils]: 59: Hoare triple {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:25,052 INFO L290 TraceCheckUtils]: 60: Hoare triple {53408#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,052 INFO L290 TraceCheckUtils]: 61: Hoare triple {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,052 INFO L290 TraceCheckUtils]: 62: Hoare triple {53409#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,053 INFO L290 TraceCheckUtils]: 63: Hoare triple {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,053 INFO L290 TraceCheckUtils]: 64: Hoare triple {53410#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,053 INFO L290 TraceCheckUtils]: 65: Hoare triple {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,054 INFO L290 TraceCheckUtils]: 66: Hoare triple {53411#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:25,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:25,055 INFO L290 TraceCheckUtils]: 68: Hoare triple {53412#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,056 INFO L290 TraceCheckUtils]: 70: Hoare triple {53413#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,056 INFO L290 TraceCheckUtils]: 71: Hoare triple {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,056 INFO L290 TraceCheckUtils]: 72: Hoare triple {53414#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,057 INFO L290 TraceCheckUtils]: 73: Hoare triple {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,057 INFO L290 TraceCheckUtils]: 74: Hoare triple {53415#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {53416#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:25,058 INFO L290 TraceCheckUtils]: 75: Hoare triple {53416#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,058 INFO L290 TraceCheckUtils]: 76: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} ~i~1 := 2 + ~i~1; {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,058 INFO L290 TraceCheckUtils]: 77: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} assume !(~i~1 < ~w); {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} is VALID [2022-04-08 10:40:25,059 INFO L290 TraceCheckUtils]: 78: Hoare triple {53417#(and (= |student_version_#in~w| student_version_~w) (<= 29 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,059 INFO L290 TraceCheckUtils]: 79: Hoare triple {53418#(<= 29 |student_version_#in~w|)} #res := ~is_divisible~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,059 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:25,060 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {53418#(<= 29 |student_version_#in~w|)} {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} #89#return; {53305#false} is VALID [2022-04-08 10:40:25,060 INFO L290 TraceCheckUtils]: 82: Hoare triple {53305#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {53305#false} is VALID [2022-04-08 10:40:25,060 INFO L272 TraceCheckUtils]: 83: Hoare triple {53305#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {53305#false} is VALID [2022-04-08 10:40:25,060 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-08 10:40:25,060 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-08 10:40:25,060 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-08 10:40:25,061 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 196 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:25,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:25,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [187712806] [2022-04-08 10:40:25,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [187712806] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:25,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1283498074] [2022-04-08 10:40:25,061 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:40:25,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:25,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:25,062 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:25,063 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Waiting until timeout for monitored process [2022-04-08 10:40:25,218 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-08 10:40:25,218 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:25,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 10:40:25,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:25,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:26,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {53304#true} call ULTIMATE.init(); {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {53304#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {53304#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-08 10:40:26,773 INFO L272 TraceCheckUtils]: 7: Hoare triple {53304#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:26,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {53304#true} ~w := #in~w;~is_divisible~0 := ~true~0; {53446#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:26,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {53446#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {53450#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:40:26,774 INFO L290 TraceCheckUtils]: 10: Hoare triple {53450#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {53450#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:40:26,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {53450#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {53457#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:40:26,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {53457#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {53457#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:40:26,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {53457#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {53464#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:40:26,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {53464#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {53464#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:40:26,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {53464#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {53471#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:40:26,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {53471#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {53471#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:40:26,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {53471#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {53478#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:26,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {53478#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {53478#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:26,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {53478#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {53485#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:40:26,778 INFO L290 TraceCheckUtils]: 20: Hoare triple {53485#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {53485#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:40:26,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {53485#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {53492#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:40:26,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {53492#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {53492#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:40:26,780 INFO L290 TraceCheckUtils]: 23: Hoare triple {53492#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {53499#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:26,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {53499#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {53499#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:26,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {53499#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {53506#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:40:26,781 INFO L290 TraceCheckUtils]: 26: Hoare triple {53506#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {53506#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:40:26,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {53506#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {53513#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:26,782 INFO L290 TraceCheckUtils]: 28: Hoare triple {53513#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {53513#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:26,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {53513#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {53520#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:40:26,783 INFO L290 TraceCheckUtils]: 30: Hoare triple {53520#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {53520#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:40:26,783 INFO L290 TraceCheckUtils]: 31: Hoare triple {53520#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {53527#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:40:26,783 INFO L290 TraceCheckUtils]: 32: Hoare triple {53527#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {53527#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:40:26,784 INFO L290 TraceCheckUtils]: 33: Hoare triple {53527#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {53534#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:40:26,784 INFO L290 TraceCheckUtils]: 34: Hoare triple {53534#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {53534#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:40:26,785 INFO L290 TraceCheckUtils]: 35: Hoare triple {53534#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {53541#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:40:26,785 INFO L290 TraceCheckUtils]: 36: Hoare triple {53541#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {53541#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:40:26,786 INFO L290 TraceCheckUtils]: 37: Hoare triple {53541#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {53548#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:40:26,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {53548#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !(~i~0 < ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:26,786 INFO L290 TraceCheckUtils]: 39: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume !(~i~0 != ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:26,787 INFO L290 TraceCheckUtils]: 40: Hoare triple {53400#(<= |correct_version_#in~w| 28)} #res := ~is_divisible~0; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:26,787 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:26,788 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {53400#(<= |correct_version_#in~w| 28)} {53304#true} #87#return; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:26,788 INFO L290 TraceCheckUtils]: 43: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:26,788 INFO L272 TraceCheckUtils]: 44: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:26,788 INFO L290 TraceCheckUtils]: 45: Hoare triple {53304#true} ~w := #in~w;~is_divisible~1 := ~true~0; {53573#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,789 INFO L290 TraceCheckUtils]: 46: Hoare triple {53573#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {53577#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,789 INFO L290 TraceCheckUtils]: 47: Hoare triple {53577#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53577#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,790 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53584#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {53584#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53584#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,790 INFO L290 TraceCheckUtils]: 50: Hoare triple {53584#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53591#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:26,791 INFO L290 TraceCheckUtils]: 51: Hoare triple {53591#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {53591#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:26,791 INFO L290 TraceCheckUtils]: 52: Hoare triple {53591#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {53598#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,792 INFO L290 TraceCheckUtils]: 53: Hoare triple {53598#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53598#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,792 INFO L290 TraceCheckUtils]: 54: Hoare triple {53598#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53605#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,792 INFO L290 TraceCheckUtils]: 55: Hoare triple {53605#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53605#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,793 INFO L290 TraceCheckUtils]: 56: Hoare triple {53605#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53612#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,793 INFO L290 TraceCheckUtils]: 57: Hoare triple {53612#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53612#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,794 INFO L290 TraceCheckUtils]: 58: Hoare triple {53612#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53619#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,794 INFO L290 TraceCheckUtils]: 59: Hoare triple {53619#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53619#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,795 INFO L290 TraceCheckUtils]: 60: Hoare triple {53619#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53626#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,795 INFO L290 TraceCheckUtils]: 61: Hoare triple {53626#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53626#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,795 INFO L290 TraceCheckUtils]: 62: Hoare triple {53626#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53633#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,796 INFO L290 TraceCheckUtils]: 63: Hoare triple {53633#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53633#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,796 INFO L290 TraceCheckUtils]: 64: Hoare triple {53633#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53640#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,797 INFO L290 TraceCheckUtils]: 65: Hoare triple {53640#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53640#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,797 INFO L290 TraceCheckUtils]: 66: Hoare triple {53640#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53647#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,797 INFO L290 TraceCheckUtils]: 67: Hoare triple {53647#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53647#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,798 INFO L290 TraceCheckUtils]: 68: Hoare triple {53647#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53654#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,798 INFO L290 TraceCheckUtils]: 69: Hoare triple {53654#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53654#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,799 INFO L290 TraceCheckUtils]: 70: Hoare triple {53654#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53661#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,799 INFO L290 TraceCheckUtils]: 71: Hoare triple {53661#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53661#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,800 INFO L290 TraceCheckUtils]: 72: Hoare triple {53661#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53668#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,800 INFO L290 TraceCheckUtils]: 73: Hoare triple {53668#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53668#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,800 INFO L290 TraceCheckUtils]: 74: Hoare triple {53668#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53675#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:26,801 INFO L290 TraceCheckUtils]: 75: Hoare triple {53675#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,801 INFO L290 TraceCheckUtils]: 76: Hoare triple {53418#(<= 29 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,801 INFO L290 TraceCheckUtils]: 77: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume !(~i~1 < ~w); {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,802 INFO L290 TraceCheckUtils]: 78: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,802 INFO L290 TraceCheckUtils]: 79: Hoare triple {53418#(<= 29 |student_version_#in~w|)} #res := ~is_divisible~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,802 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:26,803 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {53418#(<= 29 |student_version_#in~w|)} {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} #89#return; {53305#false} is VALID [2022-04-08 10:40:26,803 INFO L290 TraceCheckUtils]: 82: Hoare triple {53305#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {53305#false} is VALID [2022-04-08 10:40:26,803 INFO L272 TraceCheckUtils]: 83: Hoare triple {53305#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {53305#false} is VALID [2022-04-08 10:40:26,803 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-08 10:40:26,803 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-08 10:40:26,803 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-08 10:40:26,804 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 196 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:26,804 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:32,488 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-08 10:40:32,489 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-08 10:40:32,489 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-08 10:40:32,489 INFO L272 TraceCheckUtils]: 83: Hoare triple {53305#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {53305#false} is VALID [2022-04-08 10:40:32,489 INFO L290 TraceCheckUtils]: 82: Hoare triple {53305#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {53305#false} is VALID [2022-04-08 10:40:32,490 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {53418#(<= 29 |student_version_#in~w|)} {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} #89#return; {53305#false} is VALID [2022-04-08 10:40:32,490 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,491 INFO L290 TraceCheckUtils]: 79: Hoare triple {53418#(<= 29 |student_version_#in~w|)} #res := ~is_divisible~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,491 INFO L290 TraceCheckUtils]: 78: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,491 INFO L290 TraceCheckUtils]: 77: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume !(~i~1 < ~w); {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,491 INFO L290 TraceCheckUtils]: 76: Hoare triple {53418#(<= 29 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,492 INFO L290 TraceCheckUtils]: 75: Hoare triple {53748#(or (not (< student_version_~i~1 student_version_~w)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-08 10:40:32,492 INFO L290 TraceCheckUtils]: 74: Hoare triple {53752#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {53748#(or (not (< student_version_~i~1 student_version_~w)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,493 INFO L290 TraceCheckUtils]: 73: Hoare triple {53752#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {53752#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,493 INFO L290 TraceCheckUtils]: 72: Hoare triple {53759#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53752#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,493 INFO L290 TraceCheckUtils]: 71: Hoare triple {53759#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53759#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,494 INFO L290 TraceCheckUtils]: 70: Hoare triple {53766#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {53759#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,494 INFO L290 TraceCheckUtils]: 69: Hoare triple {53766#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {53766#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,495 INFO L290 TraceCheckUtils]: 68: Hoare triple {53773#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53766#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,495 INFO L290 TraceCheckUtils]: 67: Hoare triple {53773#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53773#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {53780#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53773#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {53780#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53780#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,496 INFO L290 TraceCheckUtils]: 64: Hoare triple {53787#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53780#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,497 INFO L290 TraceCheckUtils]: 63: Hoare triple {53787#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53787#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,497 INFO L290 TraceCheckUtils]: 62: Hoare triple {53794#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {53787#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,497 INFO L290 TraceCheckUtils]: 61: Hoare triple {53794#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {53794#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,498 INFO L290 TraceCheckUtils]: 60: Hoare triple {53801#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {53794#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,498 INFO L290 TraceCheckUtils]: 59: Hoare triple {53801#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {53801#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,499 INFO L290 TraceCheckUtils]: 58: Hoare triple {53808#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53801#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:40:32,499 INFO L290 TraceCheckUtils]: 57: Hoare triple {53808#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53808#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,500 INFO L290 TraceCheckUtils]: 56: Hoare triple {53815#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {53808#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,500 INFO L290 TraceCheckUtils]: 55: Hoare triple {53815#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {53815#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:40:32,500 INFO L290 TraceCheckUtils]: 54: Hoare triple {53822#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53815#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-08 10:40:32,501 INFO L290 TraceCheckUtils]: 53: Hoare triple {53822#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53822#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,501 INFO L290 TraceCheckUtils]: 52: Hoare triple {53829#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53822#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,501 INFO L290 TraceCheckUtils]: 51: Hoare triple {53829#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53829#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,502 INFO L290 TraceCheckUtils]: 50: Hoare triple {53836#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 29 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {53829#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,502 INFO L290 TraceCheckUtils]: 49: Hoare triple {53836#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 29 |student_version_#in~w|))} assume !!(~i~1 < ~w); {53836#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,503 INFO L290 TraceCheckUtils]: 48: Hoare triple {53843#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} ~i~1 := 2 + ~i~1; {53836#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {53843#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} assume !!(~i~1 < ~w); {53843#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-08 10:40:32,503 INFO L290 TraceCheckUtils]: 46: Hoare triple {53850#(or (<= student_version_~w 28) (<= 29 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {53843#(or (<= 29 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-08 10:40:32,504 INFO L290 TraceCheckUtils]: 45: Hoare triple {53304#true} ~w := #in~w;~is_divisible~1 := ~true~0; {53850#(or (<= student_version_~w 28) (<= 29 |student_version_#in~w|))} is VALID [2022-04-08 10:40:32,504 INFO L272 TraceCheckUtils]: 44: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:32,504 INFO L290 TraceCheckUtils]: 43: Hoare triple {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:32,505 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {53400#(<= |correct_version_#in~w| 28)} {53304#true} #87#return; {53344#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 28)))} is VALID [2022-04-08 10:40:32,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:32,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {53400#(<= |correct_version_#in~w| 28)} #res := ~is_divisible~0; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:32,506 INFO L290 TraceCheckUtils]: 39: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume !(~i~0 != ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:32,506 INFO L290 TraceCheckUtils]: 38: Hoare triple {53875#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 28))} assume !(~i~0 < ~w); {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-08 10:40:32,507 INFO L290 TraceCheckUtils]: 37: Hoare triple {53879#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {53875#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {53879#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {53879#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:40:32,508 INFO L290 TraceCheckUtils]: 35: Hoare triple {53886#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53879#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:40:32,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {53886#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53886#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,509 INFO L290 TraceCheckUtils]: 33: Hoare triple {53893#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53886#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {53893#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53893#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {53900#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53893#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,510 INFO L290 TraceCheckUtils]: 30: Hoare triple {53900#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53900#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,510 INFO L290 TraceCheckUtils]: 29: Hoare triple {53907#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53900#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,510 INFO L290 TraceCheckUtils]: 28: Hoare triple {53907#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53907#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {53914#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53907#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,511 INFO L290 TraceCheckUtils]: 26: Hoare triple {53914#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53914#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {53921#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53914#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {53921#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53921#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {53928#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {53921#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,513 INFO L290 TraceCheckUtils]: 22: Hoare triple {53928#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {53928#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:40:32,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {53935#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53928#(or (<= |correct_version_#in~w| 28) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-08 10:40:32,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {53935#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53935#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {53942#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53935#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,514 INFO L290 TraceCheckUtils]: 18: Hoare triple {53942#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53942#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {53949#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53942#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,515 INFO L290 TraceCheckUtils]: 16: Hoare triple {53949#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53949#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {53956#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53949#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {53956#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53956#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {53963#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53956#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {53963#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53963#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {53970#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 28))} ~i~0 := 2 + ~i~0; {53963#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,518 INFO L290 TraceCheckUtils]: 10: Hoare triple {53970#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 28))} assume !!(~i~0 < ~w); {53970#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {53977#(or (<= |correct_version_#in~w| 28) (< 28 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {53970#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 28))} is VALID [2022-04-08 10:40:32,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {53304#true} ~w := #in~w;~is_divisible~0 := ~true~0; {53977#(or (<= |correct_version_#in~w| 28) (< 28 correct_version_~w))} is VALID [2022-04-08 10:40:32,518 INFO L272 TraceCheckUtils]: 7: Hoare triple {53304#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {53304#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {53304#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {53304#true} call ULTIMATE.init(); {53304#true} is VALID [2022-04-08 10:40:32,519 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 225 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:32,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1283498074] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:40:32,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:40:32,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 37, 37] total 104 [2022-04-08 10:40:32,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:40:32,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [283288714] [2022-04-08 10:40:32,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [283288714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:40:32,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:40:32,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [40] imperfect sequences [] total 40 [2022-04-08 10:40:32,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543492904] [2022-04-08 10:40:32,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:40:32,520 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 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 87 [2022-04-08 10:40:32,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:40:32,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:32,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:32,578 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-04-08 10:40:32,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:32,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-04-08 10:40:32,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1781, Invalid=8931, Unknown=0, NotChecked=0, Total=10712 [2022-04-08 10:40:32,580 INFO L87 Difference]: Start difference. First operand 100 states and 105 transitions. Second operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:35,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:35,889 INFO L93 Difference]: Finished difference Result 115 states and 120 transitions. [2022-04-08 10:40:35,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-08 10:40:35,889 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 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 87 [2022-04-08 10:40:35,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:35,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:35,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 112 transitions. [2022-04-08 10:40:35,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:35,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 112 transitions. [2022-04-08 10:40:35,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 112 transitions. [2022-04-08 10:40:35,982 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-08 10:40:35,983 INFO L225 Difference]: With dead ends: 115 [2022-04-08 10:40:35,983 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 10:40:35,984 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 109 SyntacticMatches, 5 SemanticMatches, 137 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8874 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=3033, Invalid=16149, Unknown=0, NotChecked=0, Total=19182 [2022-04-08 10:40:35,984 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 126 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 681 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 129 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 724 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 681 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:35,984 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [129 Valid, 77 Invalid, 724 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 681 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:40:35,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 10:40:37,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 99. [2022-04-08 10:40:37,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:37,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:37,066 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:37,066 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:37,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:37,067 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2022-04-08 10:40:37,067 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-08 10:40:37,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:37,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:37,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 103 states. [2022-04-08 10:40:37,067 INFO L87 Difference]: Start difference. First operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 103 states. [2022-04-08 10:40:37,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:37,068 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2022-04-08 10:40:37,068 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-08 10:40:37,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:37,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:37,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:37,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:37,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 87 states have (on average 1.0574712643678161) internal successors, (92), 89 states have internal predecessors, (92), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:37,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 103 transitions. [2022-04-08 10:40:37,069 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 103 transitions. Word has length 87 [2022-04-08 10:40:37,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:37,069 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 103 transitions. [2022-04-08 10:40:37,070 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:37,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 103 transitions. [2022-04-08 10:40:37,304 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:37,305 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-08 10:40:37,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-08 10:40:37,305 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:37,305 INFO L499 BasicCegarLoop]: trace histogram [15, 15, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:37,322 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Forceful destruction successful, exit code 0 [2022-04-08 10:40:37,505 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable58,56 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:37,506 INFO L403 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:37,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:37,506 INFO L85 PathProgramCache]: Analyzing trace with hash -1786688683, now seen corresponding path program 53 times [2022-04-08 10:40:37,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:37,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1848537224] [2022-04-08 10:40:37,508 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:40:37,508 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:40:37,508 INFO L85 PathProgramCache]: Analyzing trace with hash -1786688683, now seen corresponding path program 54 times [2022-04-08 10:40:37,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:37,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1857755052] [2022-04-08 10:40:37,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:37,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:37,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:37,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:37,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:37,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {54786#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {54708#true} is VALID [2022-04-08 10:40:37,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-08 10:40:37,555 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-08 10:40:37,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:40:37,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:37,812 INFO L290 TraceCheckUtils]: 0: Hoare triple {54708#true} ~w := #in~w;~is_divisible~0 := ~true~0; {54787#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:37,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {54787#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,813 INFO L290 TraceCheckUtils]: 3: Hoare triple {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,814 INFO L290 TraceCheckUtils]: 5: Hoare triple {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,814 INFO L290 TraceCheckUtils]: 6: Hoare triple {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,816 INFO L290 TraceCheckUtils]: 10: Hoare triple {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,817 INFO L290 TraceCheckUtils]: 12: Hoare triple {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,818 INFO L290 TraceCheckUtils]: 16: Hoare triple {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,822 INFO L290 TraceCheckUtils]: 26: Hoare triple {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,823 INFO L290 TraceCheckUtils]: 27: Hoare triple {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,823 INFO L290 TraceCheckUtils]: 28: Hoare triple {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54802#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:37,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {54802#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,825 INFO L290 TraceCheckUtils]: 31: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,825 INFO L290 TraceCheckUtils]: 32: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:37,825 INFO L290 TraceCheckUtils]: 33: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:37,826 INFO L290 TraceCheckUtils]: 34: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} #res := ~is_divisible~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:37,826 INFO L290 TraceCheckUtils]: 35: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:37,827 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {54804#(<= 29 |correct_version_#in~w|)} {54708#true} #87#return; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:37,827 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 10:40:37,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {54708#true} ~w := #in~w;~is_divisible~1 := ~true~0; {54805#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:38,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {54805#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:38,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:38,225 INFO L290 TraceCheckUtils]: 3: Hoare triple {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,225 INFO L290 TraceCheckUtils]: 4: Hoare triple {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,226 INFO L290 TraceCheckUtils]: 6: Hoare triple {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:38,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:38,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,227 INFO L290 TraceCheckUtils]: 10: Hoare triple {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:38,228 INFO L290 TraceCheckUtils]: 12: Hoare triple {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:38,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:38,230 INFO L290 TraceCheckUtils]: 16: Hoare triple {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:38,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:38,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:38,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:38,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:38,232 INFO L290 TraceCheckUtils]: 21: Hoare triple {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:38,233 INFO L290 TraceCheckUtils]: 24: Hoare triple {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:38,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:38,234 INFO L290 TraceCheckUtils]: 26: Hoare triple {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:38,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,235 INFO L290 TraceCheckUtils]: 29: Hoare triple {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54820#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {54820#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {54821#(and (<= student_version_~w 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {54821#(and (<= student_version_~w 28) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {54822#(<= |student_version_#in~w| 28)} #res := ~is_divisible~1; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,237 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {54822#(<= |student_version_#in~w| 28)} {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {54709#false} is VALID [2022-04-08 10:40:38,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {54708#true} call ULTIMATE.init(); {54786#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:38,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {54786#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {54708#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L272 TraceCheckUtils]: 7: Hoare triple {54708#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:38,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {54708#true} ~w := #in~w;~is_divisible~0 := ~true~0; {54787#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:38,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {54787#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,239 INFO L290 TraceCheckUtils]: 10: Hoare triple {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {54788#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,240 INFO L290 TraceCheckUtils]: 12: Hoare triple {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {54789#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,241 INFO L290 TraceCheckUtils]: 14: Hoare triple {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {54790#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,241 INFO L290 TraceCheckUtils]: 16: Hoare triple {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {54791#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,242 INFO L290 TraceCheckUtils]: 18: Hoare triple {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {54792#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {54793#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,244 INFO L290 TraceCheckUtils]: 23: Hoare triple {54794#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {54795#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,246 INFO L290 TraceCheckUtils]: 27: Hoare triple {54796#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {54797#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {54798#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {54799#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {54800#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {54801#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54802#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:38,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {54802#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:38,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {54803#(and (<= 29 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:38,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} #res := ~is_divisible~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:38,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:38,253 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {54804#(<= 29 |correct_version_#in~w|)} {54708#true} #87#return; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:38,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:38,253 INFO L272 TraceCheckUtils]: 46: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:38,254 INFO L290 TraceCheckUtils]: 47: Hoare triple {54708#true} ~w := #in~w;~is_divisible~1 := ~true~0; {54805#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:38,254 INFO L290 TraceCheckUtils]: 48: Hoare triple {54805#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:38,254 INFO L290 TraceCheckUtils]: 49: Hoare triple {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:38,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {54806#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,255 INFO L290 TraceCheckUtils]: 51: Hoare triple {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,255 INFO L290 TraceCheckUtils]: 52: Hoare triple {54807#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,256 INFO L290 TraceCheckUtils]: 53: Hoare triple {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,256 INFO L290 TraceCheckUtils]: 54: Hoare triple {54808#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:38,257 INFO L290 TraceCheckUtils]: 55: Hoare triple {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:38,257 INFO L290 TraceCheckUtils]: 56: Hoare triple {54809#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,258 INFO L290 TraceCheckUtils]: 58: Hoare triple {54810#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:38,258 INFO L290 TraceCheckUtils]: 59: Hoare triple {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:38,259 INFO L290 TraceCheckUtils]: 60: Hoare triple {54811#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,259 INFO L290 TraceCheckUtils]: 61: Hoare triple {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,259 INFO L290 TraceCheckUtils]: 62: Hoare triple {54812#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:38,260 INFO L290 TraceCheckUtils]: 63: Hoare triple {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:38,260 INFO L290 TraceCheckUtils]: 64: Hoare triple {54813#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:38,260 INFO L290 TraceCheckUtils]: 65: Hoare triple {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:38,261 INFO L290 TraceCheckUtils]: 66: Hoare triple {54814#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:38,261 INFO L290 TraceCheckUtils]: 67: Hoare triple {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:38,262 INFO L290 TraceCheckUtils]: 68: Hoare triple {54815#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,262 INFO L290 TraceCheckUtils]: 70: Hoare triple {54816#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:38,263 INFO L290 TraceCheckUtils]: 71: Hoare triple {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:38,263 INFO L290 TraceCheckUtils]: 72: Hoare triple {54817#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:38,264 INFO L290 TraceCheckUtils]: 73: Hoare triple {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:38,264 INFO L290 TraceCheckUtils]: 74: Hoare triple {54818#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,264 INFO L290 TraceCheckUtils]: 75: Hoare triple {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,265 INFO L290 TraceCheckUtils]: 76: Hoare triple {54819#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {54820#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,265 INFO L290 TraceCheckUtils]: 77: Hoare triple {54820#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {54821#(and (<= student_version_~w 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:38,266 INFO L290 TraceCheckUtils]: 78: Hoare triple {54821#(and (<= student_version_~w 28) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,266 INFO L290 TraceCheckUtils]: 79: Hoare triple {54822#(<= |student_version_#in~w| 28)} #res := ~is_divisible~1; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,266 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:38,267 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {54822#(<= |student_version_#in~w| 28)} {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L290 TraceCheckUtils]: 82: Hoare triple {54709#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L272 TraceCheckUtils]: 83: Hoare triple {54709#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-08 10:40:38,267 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 196 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:38,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:38,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1857755052] [2022-04-08 10:40:38,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1857755052] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:38,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1627656459] [2022-04-08 10:40:38,268 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:40:38,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:38,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:38,270 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:38,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Waiting until timeout for monitored process [2022-04-08 10:40:38,423 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-08 10:40:38,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:38,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 10:40:38,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:38,444 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:40,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {54708#true} call ULTIMATE.init(); {54708#true} is VALID [2022-04-08 10:40:40,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {54708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {54708#true} is VALID [2022-04-08 10:40:40,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {54708#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L272 TraceCheckUtils]: 7: Hoare triple {54708#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:40,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {54708#true} ~w := #in~w;~is_divisible~0 := ~true~0; {54850#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,125 INFO L290 TraceCheckUtils]: 9: Hoare triple {54850#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {54854#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,125 INFO L290 TraceCheckUtils]: 10: Hoare triple {54854#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {54854#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {54854#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54861#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {54861#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {54861#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {54861#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54868#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {54868#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {54868#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {54868#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54875#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:40,127 INFO L290 TraceCheckUtils]: 16: Hoare triple {54875#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {54875#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:40,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {54875#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {54882#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,128 INFO L290 TraceCheckUtils]: 18: Hoare triple {54882#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {54882#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {54882#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54889#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:40,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {54889#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {54889#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:40:40,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {54889#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {54896#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {54896#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {54896#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {54896#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54903#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {54903#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {54903#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {54903#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54910#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {54910#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {54910#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {54910#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54917#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,132 INFO L290 TraceCheckUtils]: 28: Hoare triple {54917#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {54917#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,133 INFO L290 TraceCheckUtils]: 29: Hoare triple {54917#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54924#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {54924#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {54924#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {54924#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54931#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,134 INFO L290 TraceCheckUtils]: 32: Hoare triple {54931#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {54931#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,134 INFO L290 TraceCheckUtils]: 33: Hoare triple {54931#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54938#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,135 INFO L290 TraceCheckUtils]: 34: Hoare triple {54938#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {54938#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,135 INFO L290 TraceCheckUtils]: 35: Hoare triple {54938#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54945#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {54945#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {54945#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,136 INFO L290 TraceCheckUtils]: 37: Hoare triple {54945#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {54952#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:40:40,136 INFO L290 TraceCheckUtils]: 38: Hoare triple {54952#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,137 INFO L290 TraceCheckUtils]: 39: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,137 INFO L290 TraceCheckUtils]: 40: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume !(~i~0 < ~w); {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,137 INFO L290 TraceCheckUtils]: 41: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,138 INFO L290 TraceCheckUtils]: 42: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} #res := ~is_divisible~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:40,139 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {54804#(<= 29 |correct_version_#in~w|)} {54708#true} #87#return; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:40,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:40,139 INFO L272 TraceCheckUtils]: 46: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:40,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {54708#true} ~w := #in~w;~is_divisible~1 := ~true~0; {54983#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:40,140 INFO L290 TraceCheckUtils]: 48: Hoare triple {54983#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {54987#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:40,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {54987#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {54987#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:40:40,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {54987#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {54994#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:40:40,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {54994#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {54994#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:40:40,142 INFO L290 TraceCheckUtils]: 52: Hoare triple {54994#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {55001#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:40:40,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {55001#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {55001#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:40:40,142 INFO L290 TraceCheckUtils]: 54: Hoare triple {55001#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {55008#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:40,143 INFO L290 TraceCheckUtils]: 55: Hoare triple {55008#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {55008#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:40:40,143 INFO L290 TraceCheckUtils]: 56: Hoare triple {55008#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {55015#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:40:40,144 INFO L290 TraceCheckUtils]: 57: Hoare triple {55015#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {55015#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:40:40,144 INFO L290 TraceCheckUtils]: 58: Hoare triple {55015#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {55022#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:40,144 INFO L290 TraceCheckUtils]: 59: Hoare triple {55022#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {55022#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:40:40,145 INFO L290 TraceCheckUtils]: 60: Hoare triple {55022#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {55029#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:40:40,145 INFO L290 TraceCheckUtils]: 61: Hoare triple {55029#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {55029#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:40:40,146 INFO L290 TraceCheckUtils]: 62: Hoare triple {55029#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {55036#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:40,146 INFO L290 TraceCheckUtils]: 63: Hoare triple {55036#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {55036#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:40:40,146 INFO L290 TraceCheckUtils]: 64: Hoare triple {55036#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {55043#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:40,147 INFO L290 TraceCheckUtils]: 65: Hoare triple {55043#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {55043#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:40:40,147 INFO L290 TraceCheckUtils]: 66: Hoare triple {55043#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {55050#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:40,148 INFO L290 TraceCheckUtils]: 67: Hoare triple {55050#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {55050#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:40:40,148 INFO L290 TraceCheckUtils]: 68: Hoare triple {55050#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {55057#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:40:40,148 INFO L290 TraceCheckUtils]: 69: Hoare triple {55057#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {55057#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:40:40,149 INFO L290 TraceCheckUtils]: 70: Hoare triple {55057#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {55064#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:40,149 INFO L290 TraceCheckUtils]: 71: Hoare triple {55064#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {55064#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:40:40,150 INFO L290 TraceCheckUtils]: 72: Hoare triple {55064#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {55071#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:40,150 INFO L290 TraceCheckUtils]: 73: Hoare triple {55071#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {55071#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:40:40,151 INFO L290 TraceCheckUtils]: 74: Hoare triple {55071#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {55078#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:40:40,151 INFO L290 TraceCheckUtils]: 75: Hoare triple {55078#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {55078#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:40:40,151 INFO L290 TraceCheckUtils]: 76: Hoare triple {55078#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {55085#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:40:40,152 INFO L290 TraceCheckUtils]: 77: Hoare triple {55085#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !(~i~1 < ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:40,152 INFO L290 TraceCheckUtils]: 78: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume !(~i~1 != ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:40,152 INFO L290 TraceCheckUtils]: 79: Hoare triple {54822#(<= |student_version_#in~w| 28)} #res := ~is_divisible~1; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:40,153 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:40,153 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {54822#(<= |student_version_#in~w| 28)} {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {54709#false} is VALID [2022-04-08 10:40:40,153 INFO L290 TraceCheckUtils]: 82: Hoare triple {54709#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {54709#false} is VALID [2022-04-08 10:40:40,154 INFO L272 TraceCheckUtils]: 83: Hoare triple {54709#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {54709#false} is VALID [2022-04-08 10:40:40,154 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-08 10:40:40,154 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-08 10:40:40,154 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-08 10:40:40,154 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 196 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:40,154 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:40:45,354 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-08 10:40:45,355 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-08 10:40:45,355 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-08 10:40:45,355 INFO L272 TraceCheckUtils]: 83: Hoare triple {54709#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {54709#false} is VALID [2022-04-08 10:40:45,355 INFO L290 TraceCheckUtils]: 82: Hoare triple {54709#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {54709#false} is VALID [2022-04-08 10:40:45,356 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {54822#(<= |student_version_#in~w| 28)} {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} #89#return; {54709#false} is VALID [2022-04-08 10:40:45,356 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:45,356 INFO L290 TraceCheckUtils]: 79: Hoare triple {54822#(<= |student_version_#in~w| 28)} #res := ~is_divisible~1; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:45,357 INFO L290 TraceCheckUtils]: 78: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume !(~i~1 != ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:45,357 INFO L290 TraceCheckUtils]: 77: Hoare triple {55146#(or (<= |student_version_#in~w| 28) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-08 10:40:45,357 INFO L290 TraceCheckUtils]: 76: Hoare triple {55150#(or (<= |student_version_#in~w| 28) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {55146#(or (<= |student_version_#in~w| 28) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:40:45,358 INFO L290 TraceCheckUtils]: 75: Hoare triple {55150#(or (<= |student_version_#in~w| 28) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {55150#(or (<= |student_version_#in~w| 28) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:40:45,358 INFO L290 TraceCheckUtils]: 74: Hoare triple {55157#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55150#(or (<= |student_version_#in~w| 28) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:40:45,359 INFO L290 TraceCheckUtils]: 73: Hoare triple {55157#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55157#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,359 INFO L290 TraceCheckUtils]: 72: Hoare triple {55164#(or (<= |student_version_#in~w| 28) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {55157#(or (< (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,359 INFO L290 TraceCheckUtils]: 71: Hoare triple {55164#(or (<= |student_version_#in~w| 28) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {55164#(or (<= |student_version_#in~w| 28) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:40:45,360 INFO L290 TraceCheckUtils]: 70: Hoare triple {55171#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55164#(or (<= |student_version_#in~w| 28) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:40:45,360 INFO L290 TraceCheckUtils]: 69: Hoare triple {55171#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55171#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,361 INFO L290 TraceCheckUtils]: 68: Hoare triple {55178#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55171#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,361 INFO L290 TraceCheckUtils]: 67: Hoare triple {55178#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55178#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {55185#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {55178#(or (< (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,362 INFO L290 TraceCheckUtils]: 65: Hoare triple {55185#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {55185#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:40:45,362 INFO L290 TraceCheckUtils]: 64: Hoare triple {55192#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55185#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-08 10:40:45,363 INFO L290 TraceCheckUtils]: 63: Hoare triple {55192#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55192#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,363 INFO L290 TraceCheckUtils]: 62: Hoare triple {55199#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55192#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,363 INFO L290 TraceCheckUtils]: 61: Hoare triple {55199#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55199#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,364 INFO L290 TraceCheckUtils]: 60: Hoare triple {55206#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55199#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,364 INFO L290 TraceCheckUtils]: 59: Hoare triple {55206#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55206#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,365 INFO L290 TraceCheckUtils]: 58: Hoare triple {55213#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55206#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,365 INFO L290 TraceCheckUtils]: 57: Hoare triple {55213#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55213#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,365 INFO L290 TraceCheckUtils]: 56: Hoare triple {55220#(or (< (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55213#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,366 INFO L290 TraceCheckUtils]: 55: Hoare triple {55220#(or (< (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55220#(or (< (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,366 INFO L290 TraceCheckUtils]: 54: Hoare triple {55227#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55220#(or (< (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,366 INFO L290 TraceCheckUtils]: 53: Hoare triple {55227#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55227#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,367 INFO L290 TraceCheckUtils]: 52: Hoare triple {55234#(or (< (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 28))} ~i~1 := 2 + ~i~1; {55227#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,367 INFO L290 TraceCheckUtils]: 51: Hoare triple {55234#(or (< (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 28))} assume !!(~i~1 < ~w); {55234#(or (< (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,368 INFO L290 TraceCheckUtils]: 50: Hoare triple {55241#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 28) student_version_~w))} ~i~1 := 2 + ~i~1; {55234#(or (< (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 28))} is VALID [2022-04-08 10:40:45,368 INFO L290 TraceCheckUtils]: 49: Hoare triple {55241#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 28) student_version_~w))} assume !!(~i~1 < ~w); {55241#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-08 10:40:45,368 INFO L290 TraceCheckUtils]: 48: Hoare triple {55248#(or (<= |student_version_#in~w| 28) (< 28 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {55241#(or (<= |student_version_#in~w| 28) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-08 10:40:45,369 INFO L290 TraceCheckUtils]: 47: Hoare triple {54708#true} ~w := #in~w;~is_divisible~1 := ~true~0; {55248#(or (<= |student_version_#in~w| 28) (< 28 student_version_~w))} is VALID [2022-04-08 10:40:45,369 INFO L272 TraceCheckUtils]: 46: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:45,369 INFO L290 TraceCheckUtils]: 45: Hoare triple {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:45,370 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {54804#(<= 29 |correct_version_#in~w|)} {54708#true} #87#return; {54750#(and (<= (+ (* (div main_~w~0 4294967296) 4294967296) 29) main_~w~0) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)))} is VALID [2022-04-08 10:40:45,370 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,371 INFO L290 TraceCheckUtils]: 42: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} #res := ~is_divisible~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,371 INFO L290 TraceCheckUtils]: 41: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,371 INFO L290 TraceCheckUtils]: 40: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume !(~i~0 < ~w); {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,371 INFO L290 TraceCheckUtils]: 39: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {55279#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-08 10:40:45,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {55283#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55279#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,373 INFO L290 TraceCheckUtils]: 36: Hoare triple {55283#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55283#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,373 INFO L290 TraceCheckUtils]: 35: Hoare triple {55290#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55283#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,374 INFO L290 TraceCheckUtils]: 34: Hoare triple {55290#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55290#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,374 INFO L290 TraceCheckUtils]: 33: Hoare triple {55297#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55290#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,374 INFO L290 TraceCheckUtils]: 32: Hoare triple {55297#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55297#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {55304#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55297#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,375 INFO L290 TraceCheckUtils]: 30: Hoare triple {55304#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55304#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {55311#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55304#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,376 INFO L290 TraceCheckUtils]: 28: Hoare triple {55311#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55311#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {55318#(or (<= 29 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {55311#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {55318#(or (<= 29 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {55318#(or (<= 29 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:40:45,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {55325#(or (<= correct_version_~w (+ correct_version_~i~0 14)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55318#(or (<= 29 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:40:45,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {55325#(or (<= correct_version_~w (+ correct_version_~i~0 14)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55325#(or (<= correct_version_~w (+ correct_version_~i~0 14)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {55332#(or (<= correct_version_~w (+ correct_version_~i~0 16)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55325#(or (<= correct_version_~w (+ correct_version_~i~0 14)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,378 INFO L290 TraceCheckUtils]: 22: Hoare triple {55332#(or (<= correct_version_~w (+ correct_version_~i~0 16)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55332#(or (<= correct_version_~w (+ correct_version_~i~0 16)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {55339#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55332#(or (<= correct_version_~w (+ correct_version_~i~0 16)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {55339#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55339#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {55346#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55339#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {55346#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55346#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,381 INFO L290 TraceCheckUtils]: 17: Hoare triple {55353#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55346#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,381 INFO L290 TraceCheckUtils]: 16: Hoare triple {55353#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55353#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {55360#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55353#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {55360#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55360#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {55367#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55360#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {55367#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55367#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {55374#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 29 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {55367#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,383 INFO L290 TraceCheckUtils]: 10: Hoare triple {55374#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 29 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {55374#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {55381#(or (<= correct_version_~w 28) (<= 29 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {55374#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {54708#true} ~w := #in~w;~is_divisible~0 := ~true~0; {55381#(or (<= correct_version_~w 28) (<= 29 |correct_version_#in~w|))} is VALID [2022-04-08 10:40:45,384 INFO L272 TraceCheckUtils]: 7: Hoare triple {54708#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {54708#true} is VALID [2022-04-08 10:40:45,384 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-08 10:40:45,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {54708#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {54708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {54708#true} call ULTIMATE.init(); {54708#true} is VALID [2022-04-08 10:40:45,385 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 225 proven. 196 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:45,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1627656459] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:40:45,385 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:40:45,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 37, 37] total 104 [2022-04-08 10:40:45,385 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:40:45,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1848537224] [2022-04-08 10:40:45,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1848537224] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:40:45,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:40:45,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [40] imperfect sequences [] total 40 [2022-04-08 10:40:45,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939111628] [2022-04-08 10:40:45,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:40:45,386 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 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 87 [2022-04-08 10:40:45,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:40:45,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:45,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:45,444 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-04-08 10:40:45,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:45,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-04-08 10:40:45,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1781, Invalid=8931, Unknown=0, NotChecked=0, Total=10712 [2022-04-08 10:40:45,445 INFO L87 Difference]: Start difference. First operand 99 states and 103 transitions. Second operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:48,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:48,671 INFO L93 Difference]: Finished difference Result 109 states and 112 transitions. [2022-04-08 10:40:48,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-08 10:40:48,671 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 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 87 [2022-04-08 10:40:48,671 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:40:48,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:48,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 104 transitions. [2022-04-08 10:40:48,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:48,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 104 transitions. [2022-04-08 10:40:48,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 104 transitions. [2022-04-08 10:40:48,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:48,787 INFO L225 Difference]: With dead ends: 109 [2022-04-08 10:40:48,787 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 10:40:48,788 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 109 SyntacticMatches, 5 SemanticMatches, 137 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8785 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=3033, Invalid=16149, Unknown=0, NotChecked=0, Total=19182 [2022-04-08 10:40:48,788 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 108 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 785 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 829 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 785 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:40:48,789 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [109 Valid, 85 Invalid, 829 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 785 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 10:40:48,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 10:40:49,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 98. [2022-04-08 10:40:49,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:40:49,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:49,907 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:49,907 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:49,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:49,908 INFO L93 Difference]: Finished difference Result 99 states and 102 transitions. [2022-04-08 10:40:49,908 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 102 transitions. [2022-04-08 10:40:49,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:49,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:49,908 INFO L74 IsIncluded]: Start isIncluded. First operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:40:49,908 INFO L87 Difference]: Start difference. First operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 99 states. [2022-04-08 10:40:49,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:40:49,909 INFO L93 Difference]: Finished difference Result 99 states and 102 transitions. [2022-04-08 10:40:49,909 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 102 transitions. [2022-04-08 10:40:49,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:40:49,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:40:49,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:40:49,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:40:49,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 86 states have (on average 1.0465116279069768) internal successors, (90), 88 states have internal predecessors, (90), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:40:49,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 101 transitions. [2022-04-08 10:40:49,911 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 101 transitions. Word has length 87 [2022-04-08 10:40:49,911 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:40:49,911 INFO L478 AbstractCegarLoop]: Abstraction has 98 states and 101 transitions. [2022-04-08 10:40:49,911 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 40 states have (on average 1.975) internal successors, (79), 39 states have internal predecessors, (79), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:40:49,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 101 transitions. [2022-04-08 10:40:50,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:40:50,137 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 101 transitions. [2022-04-08 10:40:50,137 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 10:40:50,137 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:40:50,137 INFO L499 BasicCegarLoop]: trace histogram [15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:40:50,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Forceful destruction successful, exit code 0 [2022-04-08 10:40:50,337 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 57 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable59 [2022-04-08 10:40:50,338 INFO L403 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:40:50,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:40:50,338 INFO L85 PathProgramCache]: Analyzing trace with hash -769133225, now seen corresponding path program 55 times [2022-04-08 10:40:50,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:40:50,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1682686315] [2022-04-08 10:40:50,340 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:40:50,340 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:40:50,340 INFO L85 PathProgramCache]: Analyzing trace with hash -769133225, now seen corresponding path program 56 times [2022-04-08 10:40:50,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:40:50,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [747861374] [2022-04-08 10:40:50,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:40:50,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:40:50,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:50,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:40:50,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:50,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {56170#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {56090#true} is VALID [2022-04-08 10:40:50,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-08 10:40:50,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-08 10:40:50,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:40:50,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:50,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {56090#true} ~w := #in~w;~is_divisible~0 := ~true~0; {56171#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:50,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {56171#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,682 INFO L290 TraceCheckUtils]: 3: Hoare triple {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,683 INFO L290 TraceCheckUtils]: 4: Hoare triple {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,683 INFO L290 TraceCheckUtils]: 6: Hoare triple {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:50,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:50,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:50,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:50,688 INFO L290 TraceCheckUtils]: 17: Hoare triple {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:50,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:50,689 INFO L290 TraceCheckUtils]: 21: Hoare triple {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,692 INFO L290 TraceCheckUtils]: 28: Hoare triple {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56187#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,694 INFO L290 TraceCheckUtils]: 32: Hoare triple {56187#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {56188#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:50,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {56188#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:50,695 INFO L290 TraceCheckUtils]: 34: Hoare triple {56189#(<= |correct_version_#in~w| 29)} #res := ~is_divisible~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:50,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:50,696 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {56189#(<= |correct_version_#in~w| 29)} {56090#true} #87#return; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:40:50,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 10:40:50,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:51,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {56090#true} ~w := #in~w;~is_divisible~1 := ~true~0; {56190#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:51,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {56190#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,009 INFO L290 TraceCheckUtils]: 3: Hoare triple {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,009 INFO L290 TraceCheckUtils]: 4: Hoare triple {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:51,010 INFO L290 TraceCheckUtils]: 6: Hoare triple {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:51,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:51,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:51,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:51,012 INFO L290 TraceCheckUtils]: 10: Hoare triple {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:51,012 INFO L290 TraceCheckUtils]: 11: Hoare triple {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,012 INFO L290 TraceCheckUtils]: 12: Hoare triple {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:51,013 INFO L290 TraceCheckUtils]: 14: Hoare triple {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:51,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,014 INFO L290 TraceCheckUtils]: 16: Hoare triple {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,014 INFO L290 TraceCheckUtils]: 17: Hoare triple {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:51,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:51,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,019 INFO L290 TraceCheckUtils]: 28: Hoare triple {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,019 INFO L290 TraceCheckUtils]: 29: Hoare triple {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,020 INFO L290 TraceCheckUtils]: 30: Hoare triple {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,020 INFO L290 TraceCheckUtils]: 31: Hoare triple {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:40:51,020 INFO L290 TraceCheckUtils]: 32: Hoare triple {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !(~i~1 < ~w); {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:40:51,021 INFO L290 TraceCheckUtils]: 33: Hoare triple {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !(~i~1 != ~w); {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,021 INFO L290 TraceCheckUtils]: 34: Hoare triple {56207#(<= 30 |student_version_#in~w|)} #res := ~is_divisible~1; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,022 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {56207#(<= 30 |student_version_#in~w|)} {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {56091#false} is VALID [2022-04-08 10:40:51,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {56090#true} call ULTIMATE.init(); {56170#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:40:51,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {56170#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {56090#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-08 10:40:51,023 INFO L272 TraceCheckUtils]: 7: Hoare triple {56090#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:40:51,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {56090#true} ~w := #in~w;~is_divisible~0 := ~true~0; {56171#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:51,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {56171#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {56172#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {56173#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {56174#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {56175#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:51,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:51,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {56176#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {56177#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {56178#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:51,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:51,030 INFO L290 TraceCheckUtils]: 25: Hoare triple {56179#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,031 INFO L290 TraceCheckUtils]: 26: Hoare triple {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {56180#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:51,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:51,032 INFO L290 TraceCheckUtils]: 29: Hoare triple {56181#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,032 INFO L290 TraceCheckUtils]: 30: Hoare triple {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {56182#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,033 INFO L290 TraceCheckUtils]: 32: Hoare triple {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,033 INFO L290 TraceCheckUtils]: 33: Hoare triple {56183#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,034 INFO L290 TraceCheckUtils]: 34: Hoare triple {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {56184#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,035 INFO L290 TraceCheckUtils]: 37: Hoare triple {56185#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {56186#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {56187#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,036 INFO L290 TraceCheckUtils]: 40: Hoare triple {56187#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {56188#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:40:51,037 INFO L290 TraceCheckUtils]: 41: Hoare triple {56188#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 30)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:51,037 INFO L290 TraceCheckUtils]: 42: Hoare triple {56189#(<= |correct_version_#in~w| 29)} #res := ~is_divisible~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:51,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:51,038 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {56189#(<= |correct_version_#in~w| 29)} {56090#true} #87#return; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:40:51,038 INFO L290 TraceCheckUtils]: 45: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:40:51,038 INFO L272 TraceCheckUtils]: 46: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:40:51,039 INFO L290 TraceCheckUtils]: 47: Hoare triple {56090#true} ~w := #in~w;~is_divisible~1 := ~true~0; {56190#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:40:51,039 INFO L290 TraceCheckUtils]: 48: Hoare triple {56190#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,039 INFO L290 TraceCheckUtils]: 49: Hoare triple {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,040 INFO L290 TraceCheckUtils]: 50: Hoare triple {56191#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,040 INFO L290 TraceCheckUtils]: 51: Hoare triple {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,041 INFO L290 TraceCheckUtils]: 52: Hoare triple {56192#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:51,041 INFO L290 TraceCheckUtils]: 53: Hoare triple {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:51,041 INFO L290 TraceCheckUtils]: 54: Hoare triple {56193#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:51,042 INFO L290 TraceCheckUtils]: 55: Hoare triple {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:40:51,042 INFO L290 TraceCheckUtils]: 56: Hoare triple {56194#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:51,043 INFO L290 TraceCheckUtils]: 57: Hoare triple {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:40:51,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {56195#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,043 INFO L290 TraceCheckUtils]: 59: Hoare triple {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,044 INFO L290 TraceCheckUtils]: 60: Hoare triple {56196#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:51,044 INFO L290 TraceCheckUtils]: 61: Hoare triple {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:40:51,044 INFO L290 TraceCheckUtils]: 62: Hoare triple {56197#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,045 INFO L290 TraceCheckUtils]: 63: Hoare triple {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,045 INFO L290 TraceCheckUtils]: 64: Hoare triple {56198#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,046 INFO L290 TraceCheckUtils]: 65: Hoare triple {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,046 INFO L290 TraceCheckUtils]: 66: Hoare triple {56199#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,046 INFO L290 TraceCheckUtils]: 67: Hoare triple {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,047 INFO L290 TraceCheckUtils]: 68: Hoare triple {56200#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:51,047 INFO L290 TraceCheckUtils]: 69: Hoare triple {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:40:51,048 INFO L290 TraceCheckUtils]: 70: Hoare triple {56201#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,048 INFO L290 TraceCheckUtils]: 71: Hoare triple {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,048 INFO L290 TraceCheckUtils]: 72: Hoare triple {56202#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,049 INFO L290 TraceCheckUtils]: 73: Hoare triple {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,049 INFO L290 TraceCheckUtils]: 74: Hoare triple {56203#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,050 INFO L290 TraceCheckUtils]: 75: Hoare triple {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,050 INFO L290 TraceCheckUtils]: 76: Hoare triple {56204#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,050 INFO L290 TraceCheckUtils]: 77: Hoare triple {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:40:51,051 INFO L290 TraceCheckUtils]: 78: Hoare triple {56205#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:40:51,051 INFO L290 TraceCheckUtils]: 79: Hoare triple {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !(~i~1 < ~w); {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:40:51,051 INFO L290 TraceCheckUtils]: 80: Hoare triple {56206#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !(~i~1 != ~w); {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,052 INFO L290 TraceCheckUtils]: 81: Hoare triple {56207#(<= 30 |student_version_#in~w|)} #res := ~is_divisible~1; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,052 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:51,053 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {56207#(<= 30 |student_version_#in~w|)} {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L290 TraceCheckUtils]: 84: Hoare triple {56091#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L272 TraceCheckUtils]: 85: Hoare triple {56091#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-08 10:40:51,053 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:51,054 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:40:51,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [747861374] [2022-04-08 10:40:51,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [747861374] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:40:51,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543665879] [2022-04-08 10:40:51,054 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:40:51,054 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:40:51,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:40:51,055 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:40:51,059 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2022-04-08 10:40:51,206 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:40:51,206 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:40:51,207 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:40:51,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:40:51,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:40:52,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {56090#true} call ULTIMATE.init(); {56090#true} is VALID [2022-04-08 10:40:52,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {56090#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {56090#true} is VALID [2022-04-08 10:40:52,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-08 10:40:52,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-08 10:40:52,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-08 10:40:52,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {56090#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {56090#true} is VALID [2022-04-08 10:40:52,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-08 10:40:52,939 INFO L272 TraceCheckUtils]: 7: Hoare triple {56090#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:40:52,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {56090#true} ~w := #in~w;~is_divisible~0 := ~true~0; {56235#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:40:52,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {56235#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {56239#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:40:52,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {56239#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {56239#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:40:52,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {56239#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {56246#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:40:52,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {56246#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {56246#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:40:52,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {56246#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {56253#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:40:52,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {56253#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {56253#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:40:52,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {56253#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {56260#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:40:52,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {56260#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {56260#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:40:52,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {56260#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {56267#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:52,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {56267#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {56267#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:40:52,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {56267#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {56274#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:40:52,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {56274#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {56274#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:40:52,944 INFO L290 TraceCheckUtils]: 21: Hoare triple {56274#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {56281#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:40:52,945 INFO L290 TraceCheckUtils]: 22: Hoare triple {56281#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {56281#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:40:52,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {56281#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {56288#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:52,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {56288#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {56288#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:40:52,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {56288#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {56295#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:40:52,946 INFO L290 TraceCheckUtils]: 26: Hoare triple {56295#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {56295#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:40:52,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {56295#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {56302#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:52,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {56302#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {56302#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:40:52,948 INFO L290 TraceCheckUtils]: 29: Hoare triple {56302#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {56309#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:40:52,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {56309#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {56309#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:40:52,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {56309#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {56316#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:40:52,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {56316#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {56316#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:40:52,949 INFO L290 TraceCheckUtils]: 33: Hoare triple {56316#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {56323#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:40:52,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {56323#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {56323#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:40:52,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {56323#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {56330#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:40:52,950 INFO L290 TraceCheckUtils]: 36: Hoare triple {56330#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {56330#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:40:52,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {56330#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {56337#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:40:52,951 INFO L290 TraceCheckUtils]: 38: Hoare triple {56337#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {56337#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:40:52,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {56337#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {56344#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-08 10:40:52,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {56344#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !(~i~0 < ~w); {56348#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:40:52,952 INFO L290 TraceCheckUtils]: 41: Hoare triple {56348#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30) (not (< correct_version_~i~0 correct_version_~w)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:52,953 INFO L290 TraceCheckUtils]: 42: Hoare triple {56189#(<= |correct_version_#in~w| 29)} #res := ~is_divisible~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:52,953 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:40:52,954 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {56189#(<= |correct_version_#in~w| 29)} {56090#true} #87#return; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:40:52,954 INFO L290 TraceCheckUtils]: 45: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:40:52,954 INFO L272 TraceCheckUtils]: 46: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:40:52,955 INFO L290 TraceCheckUtils]: 47: Hoare triple {56090#true} ~w := #in~w;~is_divisible~1 := ~true~0; {56370#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:40:52,955 INFO L290 TraceCheckUtils]: 48: Hoare triple {56370#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {56374#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,955 INFO L290 TraceCheckUtils]: 49: Hoare triple {56374#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56374#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,956 INFO L290 TraceCheckUtils]: 50: Hoare triple {56374#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56381#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,956 INFO L290 TraceCheckUtils]: 51: Hoare triple {56381#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56381#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,957 INFO L290 TraceCheckUtils]: 52: Hoare triple {56381#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56388#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:52,957 INFO L290 TraceCheckUtils]: 53: Hoare triple {56388#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {56388#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:40:52,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {56388#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {56395#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {56395#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56395#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,958 INFO L290 TraceCheckUtils]: 56: Hoare triple {56395#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56402#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,958 INFO L290 TraceCheckUtils]: 57: Hoare triple {56402#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56402#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,959 INFO L290 TraceCheckUtils]: 58: Hoare triple {56402#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56409#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,959 INFO L290 TraceCheckUtils]: 59: Hoare triple {56409#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56409#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,960 INFO L290 TraceCheckUtils]: 60: Hoare triple {56409#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56416#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,960 INFO L290 TraceCheckUtils]: 61: Hoare triple {56416#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56416#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,961 INFO L290 TraceCheckUtils]: 62: Hoare triple {56416#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56423#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,961 INFO L290 TraceCheckUtils]: 63: Hoare triple {56423#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56423#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,961 INFO L290 TraceCheckUtils]: 64: Hoare triple {56423#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56430#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,962 INFO L290 TraceCheckUtils]: 65: Hoare triple {56430#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56430#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,962 INFO L290 TraceCheckUtils]: 66: Hoare triple {56430#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56437#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,962 INFO L290 TraceCheckUtils]: 67: Hoare triple {56437#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56437#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,963 INFO L290 TraceCheckUtils]: 68: Hoare triple {56437#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56444#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,963 INFO L290 TraceCheckUtils]: 69: Hoare triple {56444#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56444#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,964 INFO L290 TraceCheckUtils]: 70: Hoare triple {56444#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56451#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,964 INFO L290 TraceCheckUtils]: 71: Hoare triple {56451#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56451#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,965 INFO L290 TraceCheckUtils]: 72: Hoare triple {56451#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56458#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,965 INFO L290 TraceCheckUtils]: 73: Hoare triple {56458#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56458#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,965 INFO L290 TraceCheckUtils]: 74: Hoare triple {56458#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56465#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,966 INFO L290 TraceCheckUtils]: 75: Hoare triple {56465#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56465#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,966 INFO L290 TraceCheckUtils]: 76: Hoare triple {56465#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56472#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,967 INFO L290 TraceCheckUtils]: 77: Hoare triple {56472#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {56472#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,967 INFO L290 TraceCheckUtils]: 78: Hoare triple {56472#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56479#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,967 INFO L290 TraceCheckUtils]: 79: Hoare triple {56479#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {56479#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:40:52,968 INFO L290 TraceCheckUtils]: 80: Hoare triple {56479#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:52,968 INFO L290 TraceCheckUtils]: 81: Hoare triple {56207#(<= 30 |student_version_#in~w|)} #res := ~is_divisible~1; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:52,968 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:40:52,969 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {56207#(<= 30 |student_version_#in~w|)} {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {56091#false} is VALID [2022-04-08 10:40:52,969 INFO L290 TraceCheckUtils]: 84: Hoare triple {56091#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {56091#false} is VALID [2022-04-08 10:40:52,969 INFO L272 TraceCheckUtils]: 85: Hoare triple {56091#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {56091#false} is VALID [2022-04-08 10:40:52,969 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-08 10:40:52,969 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-08 10:40:52,969 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-08 10:40:52,970 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:40:52,970 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:41:06,397 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-08 10:41:06,398 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-08 10:41:06,398 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-08 10:41:06,398 INFO L272 TraceCheckUtils]: 85: Hoare triple {56091#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {56091#false} is VALID [2022-04-08 10:41:06,398 INFO L290 TraceCheckUtils]: 84: Hoare triple {56091#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {56091#false} is VALID [2022-04-08 10:41:06,399 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {56207#(<= 30 |student_version_#in~w|)} {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {56091#false} is VALID [2022-04-08 10:41:06,399 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:41:06,399 INFO L290 TraceCheckUtils]: 81: Hoare triple {56207#(<= 30 |student_version_#in~w|)} #res := ~is_divisible~1; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:41:06,400 INFO L290 TraceCheckUtils]: 80: Hoare triple {56537#(or (<= 30 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-08 10:41:06,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {56537#(or (<= 30 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {56537#(or (<= 30 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:41:06,401 INFO L290 TraceCheckUtils]: 78: Hoare triple {56544#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {56537#(or (<= 30 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-08 10:41:06,401 INFO L290 TraceCheckUtils]: 77: Hoare triple {56544#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {56544#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,401 INFO L290 TraceCheckUtils]: 76: Hoare triple {56551#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56544#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,402 INFO L290 TraceCheckUtils]: 75: Hoare triple {56551#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56551#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,402 INFO L290 TraceCheckUtils]: 74: Hoare triple {56558#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56551#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,403 INFO L290 TraceCheckUtils]: 73: Hoare triple {56558#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56558#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,403 INFO L290 TraceCheckUtils]: 72: Hoare triple {56565#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56558#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,403 INFO L290 TraceCheckUtils]: 71: Hoare triple {56565#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56565#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,404 INFO L290 TraceCheckUtils]: 70: Hoare triple {56572#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56565#(or (< student_version_~w (+ student_version_~i~1 8)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,404 INFO L290 TraceCheckUtils]: 69: Hoare triple {56572#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56572#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,405 INFO L290 TraceCheckUtils]: 68: Hoare triple {56579#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {56572#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,405 INFO L290 TraceCheckUtils]: 67: Hoare triple {56579#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {56579#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:41:06,405 INFO L290 TraceCheckUtils]: 66: Hoare triple {56586#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56579#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-08 10:41:06,406 INFO L290 TraceCheckUtils]: 65: Hoare triple {56586#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56586#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,406 INFO L290 TraceCheckUtils]: 64: Hoare triple {56593#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {56586#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,406 INFO L290 TraceCheckUtils]: 63: Hoare triple {56593#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {56593#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,407 INFO L290 TraceCheckUtils]: 62: Hoare triple {56600#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {56593#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,407 INFO L290 TraceCheckUtils]: 61: Hoare triple {56600#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {56600#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:41:06,408 INFO L290 TraceCheckUtils]: 60: Hoare triple {56607#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56600#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-08 10:41:06,408 INFO L290 TraceCheckUtils]: 59: Hoare triple {56607#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56607#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,409 INFO L290 TraceCheckUtils]: 58: Hoare triple {56614#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {56607#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,409 INFO L290 TraceCheckUtils]: 57: Hoare triple {56614#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {56614#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,409 INFO L290 TraceCheckUtils]: 56: Hoare triple {56621#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56614#(or (<= 30 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-08 10:41:06,410 INFO L290 TraceCheckUtils]: 55: Hoare triple {56621#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56621#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,410 INFO L290 TraceCheckUtils]: 54: Hoare triple {56628#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56621#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,411 INFO L290 TraceCheckUtils]: 53: Hoare triple {56628#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56628#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,411 INFO L290 TraceCheckUtils]: 52: Hoare triple {56635#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56628#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,411 INFO L290 TraceCheckUtils]: 51: Hoare triple {56635#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56635#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,412 INFO L290 TraceCheckUtils]: 50: Hoare triple {56642#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 30 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {56635#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {56642#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 30 |student_version_#in~w|))} assume !!(~i~1 < ~w); {56642#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,413 INFO L290 TraceCheckUtils]: 48: Hoare triple {56649#(or (<= 30 |student_version_#in~w|) (< student_version_~w 30))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {56642#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 30 |student_version_#in~w|))} is VALID [2022-04-08 10:41:06,413 INFO L290 TraceCheckUtils]: 47: Hoare triple {56090#true} ~w := #in~w;~is_divisible~1 := ~true~0; {56649#(or (<= 30 |student_version_#in~w|) (< student_version_~w 30))} is VALID [2022-04-08 10:41:06,413 INFO L272 TraceCheckUtils]: 46: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:41:06,413 INFO L290 TraceCheckUtils]: 45: Hoare triple {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:06,414 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {56189#(<= |correct_version_#in~w| 29)} {56090#true} #87#return; {56132#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 29)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:06,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:41:06,415 INFO L290 TraceCheckUtils]: 42: Hoare triple {56189#(<= |correct_version_#in~w| 29)} #res := ~is_divisible~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:41:06,415 INFO L290 TraceCheckUtils]: 41: Hoare triple {56671#(or (<= |correct_version_#in~w| 29) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-08 10:41:06,416 INFO L290 TraceCheckUtils]: 40: Hoare triple {56675#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 29) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {56671#(or (<= |correct_version_#in~w| 29) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:41:06,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {56679#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56675#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 29) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-08 10:41:06,416 INFO L290 TraceCheckUtils]: 38: Hoare triple {56679#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56679#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {56686#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56679#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,417 INFO L290 TraceCheckUtils]: 36: Hoare triple {56686#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56686#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {56693#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {56686#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,418 INFO L290 TraceCheckUtils]: 34: Hoare triple {56693#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {56693#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:41:06,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {56700#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56693#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-08 10:41:06,419 INFO L290 TraceCheckUtils]: 32: Hoare triple {56700#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56700#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {56707#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56700#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,419 INFO L290 TraceCheckUtils]: 30: Hoare triple {56707#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56707#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,420 INFO L290 TraceCheckUtils]: 29: Hoare triple {56714#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {56707#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,420 INFO L290 TraceCheckUtils]: 28: Hoare triple {56714#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {56714#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:41:06,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {56721#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56714#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-08 10:41:06,421 INFO L290 TraceCheckUtils]: 26: Hoare triple {56721#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56721#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {56728#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56721#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {56728#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56728#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {56735#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56728#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {56735#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56735#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {56742#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56735#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {56742#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56742#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {56749#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {56742#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {56749#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {56749#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:41:06,425 INFO L290 TraceCheckUtils]: 17: Hoare triple {56756#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56749#(or (<= |correct_version_#in~w| 29) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-08 10:41:06,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {56756#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56756#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {56763#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56756#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {56763#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56763#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {56770#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56763#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {56770#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56770#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {56777#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 29))} ~i~0 := 2 + ~i~0; {56770#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {56777#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 29))} assume !!(~i~0 < ~w); {56777#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {56784#(or (<= |correct_version_#in~w| 29) (<= 30 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {56777#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 29))} is VALID [2022-04-08 10:41:06,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {56090#true} ~w := #in~w;~is_divisible~0 := ~true~0; {56784#(or (<= |correct_version_#in~w| 29) (<= 30 correct_version_~w))} is VALID [2022-04-08 10:41:06,428 INFO L272 TraceCheckUtils]: 7: Hoare triple {56090#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {56090#true} is VALID [2022-04-08 10:41:06,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-08 10:41:06,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {56090#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {56090#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {56090#true} call ULTIMATE.init(); {56090#true} is VALID [2022-04-08 10:41:06,429 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:06,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [543665879] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:41:06,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:41:06,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 40, 40] total 111 [2022-04-08 10:41:06,430 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:41:06,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1682686315] [2022-04-08 10:41:06,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1682686315] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:41:06,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:41:06,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [41] imperfect sequences [] total 41 [2022-04-08 10:41:06,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892523361] [2022-04-08 10:41:06,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:41:06,430 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 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 89 [2022-04-08 10:41:06,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:41:06,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:06,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:06,490 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-08 10:41:06,490 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:06,490 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-08 10:41:06,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1967, Invalid=10243, Unknown=0, NotChecked=0, Total=12210 [2022-04-08 10:41:06,491 INFO L87 Difference]: Start difference. First operand 98 states and 101 transitions. Second operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:09,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:09,899 INFO L93 Difference]: Finished difference Result 118 states and 125 transitions. [2022-04-08 10:41:09,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-04-08 10:41:09,899 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 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 89 [2022-04-08 10:41:09,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:41:09,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:09,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 120 transitions. [2022-04-08 10:41:09,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:09,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 120 transitions. [2022-04-08 10:41:09,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 120 transitions. [2022-04-08 10:41:10,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:10,001 INFO L225 Difference]: With dead ends: 118 [2022-04-08 10:41:10,001 INFO L226 Difference]: Without dead ends: 107 [2022-04-08 10:41:10,002 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 107 SyntacticMatches, 5 SemanticMatches, 147 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10075 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=3377, Invalid=18675, Unknown=0, NotChecked=0, Total=22052 [2022-04-08 10:41:10,002 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 93 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 649 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 698 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 649 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:41:10,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [97 Valid, 72 Invalid, 698 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 649 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:41:10,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-08 10:41:11,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 101. [2022-04-08 10:41:11,142 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:41:11,142 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:11,142 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:11,142 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:11,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:11,143 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2022-04-08 10:41:11,143 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2022-04-08 10:41:11,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:11,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:11,144 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 107 states. [2022-04-08 10:41:11,144 INFO L87 Difference]: Start difference. First operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 107 states. [2022-04-08 10:41:11,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:11,145 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2022-04-08 10:41:11,145 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2022-04-08 10:41:11,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:11,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:11,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:41:11,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:41:11,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 91 states have internal predecessors, (94), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:11,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 105 transitions. [2022-04-08 10:41:11,146 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 105 transitions. Word has length 89 [2022-04-08 10:41:11,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:41:11,146 INFO L478 AbstractCegarLoop]: Abstraction has 101 states and 105 transitions. [2022-04-08 10:41:11,146 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:11,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 105 transitions. [2022-04-08 10:41:11,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:11,396 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 105 transitions. [2022-04-08 10:41:11,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 10:41:11,396 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:41:11,396 INFO L499 BasicCegarLoop]: trace histogram [15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:41:11,412 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Ended with exit code 0 [2022-04-08 10:41:11,596 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable60,58 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:41:11,597 INFO L403 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:41:11,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:41:11,597 INFO L85 PathProgramCache]: Analyzing trace with hash 489970451, now seen corresponding path program 55 times [2022-04-08 10:41:11,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:11,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2145729817] [2022-04-08 10:41:11,599 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:41:11,599 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:41:11,599 INFO L85 PathProgramCache]: Analyzing trace with hash 489970451, now seen corresponding path program 56 times [2022-04-08 10:41:11,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:41:11,599 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071269241] [2022-04-08 10:41:11,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:41:11,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:41:11,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:11,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:41:11,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:11,651 INFO L290 TraceCheckUtils]: 0: Hoare triple {57619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {57539#true} is VALID [2022-04-08 10:41:11,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-08 10:41:11,651 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-08 10:41:11,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:41:11,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:11,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {57539#true} ~w := #in~w;~is_divisible~0 := ~true~0; {57620#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:11,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {57620#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,941 INFO L290 TraceCheckUtils]: 3: Hoare triple {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,941 INFO L290 TraceCheckUtils]: 4: Hoare triple {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,942 INFO L290 TraceCheckUtils]: 6: Hoare triple {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,944 INFO L290 TraceCheckUtils]: 10: Hoare triple {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,947 INFO L290 TraceCheckUtils]: 17: Hoare triple {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,951 INFO L290 TraceCheckUtils]: 27: Hoare triple {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,951 INFO L290 TraceCheckUtils]: 28: Hoare triple {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,951 INFO L290 TraceCheckUtils]: 29: Hoare triple {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:11,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:11,953 INFO L290 TraceCheckUtils]: 33: Hoare triple {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:11,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} #res := ~is_divisible~0; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:11,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:11,954 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {57637#(<= 30 |correct_version_#in~w|)} {57539#true} #87#return; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:11,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 10:41:11,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:12,415 INFO L290 TraceCheckUtils]: 0: Hoare triple {57539#true} ~w := #in~w;~is_divisible~1 := ~true~0; {57638#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:12,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {57638#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:12,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:12,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,416 INFO L290 TraceCheckUtils]: 4: Hoare triple {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:12,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:12,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,419 INFO L290 TraceCheckUtils]: 10: Hoare triple {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:12,420 INFO L290 TraceCheckUtils]: 12: Hoare triple {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:12,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:12,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:12,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:12,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:12,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:12,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:12,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,424 INFO L290 TraceCheckUtils]: 23: Hoare triple {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:12,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:12,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:12,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:12,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,426 INFO L290 TraceCheckUtils]: 28: Hoare triple {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57654#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)))} is VALID [2022-04-08 10:41:12,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {57654#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)))} assume !(~i~1 < ~w); {57655#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:41:12,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {57655#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,429 INFO L290 TraceCheckUtils]: 34: Hoare triple {57656#(<= |student_version_#in~w| 29)} #res := ~is_divisible~1; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,430 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {57656#(<= |student_version_#in~w| 29)} {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} #89#return; {57540#false} is VALID [2022-04-08 10:41:12,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {57539#true} call ULTIMATE.init(); {57619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:41:12,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {57619#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {57539#true} is VALID [2022-04-08 10:41:12,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-08 10:41:12,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-08 10:41:12,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-08 10:41:12,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {57539#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {57539#true} is VALID [2022-04-08 10:41:12,431 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-08 10:41:12,431 INFO L272 TraceCheckUtils]: 7: Hoare triple {57539#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:12,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {57539#true} ~w := #in~w;~is_divisible~0 := ~true~0; {57620#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:12,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {57620#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,432 INFO L290 TraceCheckUtils]: 10: Hoare triple {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {57621#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {57622#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {57623#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,434 INFO L290 TraceCheckUtils]: 16: Hoare triple {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {57624#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {57625#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,436 INFO L290 TraceCheckUtils]: 21: Hoare triple {57626#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {57627#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,438 INFO L290 TraceCheckUtils]: 25: Hoare triple {57628#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,438 INFO L290 TraceCheckUtils]: 26: Hoare triple {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,439 INFO L290 TraceCheckUtils]: 27: Hoare triple {57629#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,439 INFO L290 TraceCheckUtils]: 28: Hoare triple {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,439 INFO L290 TraceCheckUtils]: 29: Hoare triple {57630#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,440 INFO L290 TraceCheckUtils]: 31: Hoare triple {57631#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,441 INFO L290 TraceCheckUtils]: 33: Hoare triple {57632#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {57633#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {57634#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,443 INFO L290 TraceCheckUtils]: 38: Hoare triple {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:12,443 INFO L290 TraceCheckUtils]: 39: Hoare triple {57635#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,444 INFO L290 TraceCheckUtils]: 40: Hoare triple {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:12,444 INFO L290 TraceCheckUtils]: 41: Hoare triple {57636#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:12,444 INFO L290 TraceCheckUtils]: 42: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} #res := ~is_divisible~0; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:12,445 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:12,446 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {57637#(<= 30 |correct_version_#in~w|)} {57539#true} #87#return; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:12,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:12,446 INFO L272 TraceCheckUtils]: 46: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:12,446 INFO L290 TraceCheckUtils]: 47: Hoare triple {57539#true} ~w := #in~w;~is_divisible~1 := ~true~0; {57638#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:12,447 INFO L290 TraceCheckUtils]: 48: Hoare triple {57638#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:12,447 INFO L290 TraceCheckUtils]: 49: Hoare triple {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:12,448 INFO L290 TraceCheckUtils]: 50: Hoare triple {57639#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,448 INFO L290 TraceCheckUtils]: 51: Hoare triple {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,448 INFO L290 TraceCheckUtils]: 52: Hoare triple {57640#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,449 INFO L290 TraceCheckUtils]: 53: Hoare triple {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,449 INFO L290 TraceCheckUtils]: 54: Hoare triple {57641#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:12,449 INFO L290 TraceCheckUtils]: 55: Hoare triple {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:12,450 INFO L290 TraceCheckUtils]: 56: Hoare triple {57642#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,450 INFO L290 TraceCheckUtils]: 57: Hoare triple {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {57643#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:12,451 INFO L290 TraceCheckUtils]: 59: Hoare triple {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:12,451 INFO L290 TraceCheckUtils]: 60: Hoare triple {57644#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,452 INFO L290 TraceCheckUtils]: 61: Hoare triple {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,452 INFO L290 TraceCheckUtils]: 62: Hoare triple {57645#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:12,453 INFO L290 TraceCheckUtils]: 63: Hoare triple {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:12,453 INFO L290 TraceCheckUtils]: 64: Hoare triple {57646#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:12,453 INFO L290 TraceCheckUtils]: 65: Hoare triple {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:12,454 INFO L290 TraceCheckUtils]: 66: Hoare triple {57647#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:12,454 INFO L290 TraceCheckUtils]: 67: Hoare triple {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:12,455 INFO L290 TraceCheckUtils]: 68: Hoare triple {57648#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,455 INFO L290 TraceCheckUtils]: 69: Hoare triple {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,455 INFO L290 TraceCheckUtils]: 70: Hoare triple {57649#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:12,456 INFO L290 TraceCheckUtils]: 71: Hoare triple {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:12,456 INFO L290 TraceCheckUtils]: 72: Hoare triple {57650#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:12,457 INFO L290 TraceCheckUtils]: 73: Hoare triple {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:12,457 INFO L290 TraceCheckUtils]: 74: Hoare triple {57651#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,457 INFO L290 TraceCheckUtils]: 75: Hoare triple {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,458 INFO L290 TraceCheckUtils]: 76: Hoare triple {57652#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,458 INFO L290 TraceCheckUtils]: 77: Hoare triple {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:12,459 INFO L290 TraceCheckUtils]: 78: Hoare triple {57653#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {57654#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)))} is VALID [2022-04-08 10:41:12,459 INFO L290 TraceCheckUtils]: 79: Hoare triple {57654#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)))} assume !(~i~1 < ~w); {57655#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-08 10:41:12,460 INFO L290 TraceCheckUtils]: 80: Hoare triple {57655#(and (= |student_version_#in~w| student_version_~w) (or (not (<= (+ student_version_~w 1) student_version_~i~1)) (<= student_version_~i~1 30)) (<= student_version_~w student_version_~i~1))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,460 INFO L290 TraceCheckUtils]: 81: Hoare triple {57656#(<= |student_version_#in~w| 29)} #res := ~is_divisible~1; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,460 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:12,461 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {57656#(<= |student_version_#in~w| 29)} {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} #89#return; {57540#false} is VALID [2022-04-08 10:41:12,461 INFO L290 TraceCheckUtils]: 84: Hoare triple {57540#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {57540#false} is VALID [2022-04-08 10:41:12,461 INFO L272 TraceCheckUtils]: 85: Hoare triple {57540#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {57540#false} is VALID [2022-04-08 10:41:12,461 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-08 10:41:12,461 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-08 10:41:12,461 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-08 10:41:12,462 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:12,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:41:12,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071269241] [2022-04-08 10:41:12,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2071269241] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:41:12,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1720685636] [2022-04-08 10:41:12,462 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:41:12,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:41:12,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:41:12,463 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:41:12,464 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2022-04-08 10:41:12,620 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:41:12,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:41:12,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 10:41:12,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:12,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:41:14,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {57539#true} call ULTIMATE.init(); {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {57539#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {57539#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-08 10:41:14,693 INFO L272 TraceCheckUtils]: 7: Hoare triple {57539#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:14,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {57539#true} ~w := #in~w;~is_divisible~0 := ~true~0; {57684#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:41:14,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {57684#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {57688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,694 INFO L290 TraceCheckUtils]: 10: Hoare triple {57688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {57688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {57688#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {57695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {57695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {57695#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {57702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {57702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {57702#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:14,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {57709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {57709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:14,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {57709#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {57716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {57716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {57716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {57716#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:14,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {57723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {57723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:14,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {57723#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {57730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {57730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {57730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,700 INFO L290 TraceCheckUtils]: 23: Hoare triple {57730#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {57737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {57737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,701 INFO L290 TraceCheckUtils]: 25: Hoare triple {57737#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57744#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {57744#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {57744#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {57744#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57751#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,702 INFO L290 TraceCheckUtils]: 28: Hoare triple {57751#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {57751#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,702 INFO L290 TraceCheckUtils]: 29: Hoare triple {57751#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57758#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {57758#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {57758#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {57758#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57765#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {57765#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {57765#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,704 INFO L290 TraceCheckUtils]: 33: Hoare triple {57765#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57772#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,704 INFO L290 TraceCheckUtils]: 34: Hoare triple {57772#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {57772#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,705 INFO L290 TraceCheckUtils]: 35: Hoare triple {57772#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57779#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,705 INFO L290 TraceCheckUtils]: 36: Hoare triple {57779#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {57779#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,706 INFO L290 TraceCheckUtils]: 37: Hoare triple {57779#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57786#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,706 INFO L290 TraceCheckUtils]: 38: Hoare triple {57786#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {57786#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,706 INFO L290 TraceCheckUtils]: 39: Hoare triple {57786#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {57793#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,707 INFO L290 TraceCheckUtils]: 40: Hoare triple {57793#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !(~i~0 < ~w); {57793#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-08 10:41:14,707 INFO L290 TraceCheckUtils]: 41: Hoare triple {57793#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !(~i~0 != ~w); {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:14,707 INFO L290 TraceCheckUtils]: 42: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} #res := ~is_divisible~0; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:14,708 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:14,709 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {57637#(<= 30 |correct_version_#in~w|)} {57539#true} #87#return; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:14,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:14,709 INFO L272 TraceCheckUtils]: 46: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:14,710 INFO L290 TraceCheckUtils]: 47: Hoare triple {57539#true} ~w := #in~w;~is_divisible~1 := ~true~0; {57818#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:14,710 INFO L290 TraceCheckUtils]: 48: Hoare triple {57818#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {57822#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:14,710 INFO L290 TraceCheckUtils]: 49: Hoare triple {57822#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {57822#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:14,711 INFO L290 TraceCheckUtils]: 50: Hoare triple {57822#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {57829#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:41:14,711 INFO L290 TraceCheckUtils]: 51: Hoare triple {57829#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {57829#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:41:14,712 INFO L290 TraceCheckUtils]: 52: Hoare triple {57829#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {57836#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:41:14,712 INFO L290 TraceCheckUtils]: 53: Hoare triple {57836#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {57836#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:41:14,712 INFO L290 TraceCheckUtils]: 54: Hoare triple {57836#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {57843#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:14,713 INFO L290 TraceCheckUtils]: 55: Hoare triple {57843#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {57843#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:14,713 INFO L290 TraceCheckUtils]: 56: Hoare triple {57843#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {57850#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:41:14,713 INFO L290 TraceCheckUtils]: 57: Hoare triple {57850#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {57850#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:41:14,714 INFO L290 TraceCheckUtils]: 58: Hoare triple {57850#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {57857#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:14,714 INFO L290 TraceCheckUtils]: 59: Hoare triple {57857#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {57857#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:14,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {57857#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {57864#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:41:14,715 INFO L290 TraceCheckUtils]: 61: Hoare triple {57864#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {57864#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:41:14,716 INFO L290 TraceCheckUtils]: 62: Hoare triple {57864#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {57871#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:14,716 INFO L290 TraceCheckUtils]: 63: Hoare triple {57871#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {57871#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:14,716 INFO L290 TraceCheckUtils]: 64: Hoare triple {57871#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {57878#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:14,717 INFO L290 TraceCheckUtils]: 65: Hoare triple {57878#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {57878#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:14,717 INFO L290 TraceCheckUtils]: 66: Hoare triple {57878#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {57885#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:14,718 INFO L290 TraceCheckUtils]: 67: Hoare triple {57885#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {57885#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:14,718 INFO L290 TraceCheckUtils]: 68: Hoare triple {57885#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {57892#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:41:14,718 INFO L290 TraceCheckUtils]: 69: Hoare triple {57892#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {57892#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:41:14,719 INFO L290 TraceCheckUtils]: 70: Hoare triple {57892#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {57899#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:14,719 INFO L290 TraceCheckUtils]: 71: Hoare triple {57899#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {57899#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:14,720 INFO L290 TraceCheckUtils]: 72: Hoare triple {57899#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {57906#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:14,720 INFO L290 TraceCheckUtils]: 73: Hoare triple {57906#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {57906#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:14,720 INFO L290 TraceCheckUtils]: 74: Hoare triple {57906#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {57913#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:41:14,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {57913#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {57913#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:41:14,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {57913#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {57920#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:41:14,722 INFO L290 TraceCheckUtils]: 77: Hoare triple {57920#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {57920#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:41:14,722 INFO L290 TraceCheckUtils]: 78: Hoare triple {57920#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {57927#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-08 10:41:14,722 INFO L290 TraceCheckUtils]: 79: Hoare triple {57927#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !(~i~1 < ~w); {57931#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 30))} is VALID [2022-04-08 10:41:14,723 INFO L290 TraceCheckUtils]: 80: Hoare triple {57931#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 30))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:14,723 INFO L290 TraceCheckUtils]: 81: Hoare triple {57656#(<= |student_version_#in~w| 29)} #res := ~is_divisible~1; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:14,723 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:14,724 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {57656#(<= |student_version_#in~w| 29)} {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} #89#return; {57540#false} is VALID [2022-04-08 10:41:14,724 INFO L290 TraceCheckUtils]: 84: Hoare triple {57540#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {57540#false} is VALID [2022-04-08 10:41:14,724 INFO L272 TraceCheckUtils]: 85: Hoare triple {57540#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {57540#false} is VALID [2022-04-08 10:41:14,724 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-08 10:41:14,725 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-08 10:41:14,725 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-08 10:41:14,725 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:14,725 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:41:29,194 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-08 10:41:29,194 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-08 10:41:29,194 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-08 10:41:29,194 INFO L272 TraceCheckUtils]: 85: Hoare triple {57540#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {57540#false} is VALID [2022-04-08 10:41:29,194 INFO L290 TraceCheckUtils]: 84: Hoare triple {57540#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {57540#false} is VALID [2022-04-08 10:41:29,195 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {57656#(<= |student_version_#in~w| 29)} {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} #89#return; {57540#false} is VALID [2022-04-08 10:41:29,195 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:29,196 INFO L290 TraceCheckUtils]: 81: Hoare triple {57656#(<= |student_version_#in~w| 29)} #res := ~is_divisible~1; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:29,196 INFO L290 TraceCheckUtils]: 80: Hoare triple {57986#(or (<= |student_version_#in~w| 29) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-08 10:41:29,196 INFO L290 TraceCheckUtils]: 79: Hoare triple {57990#(or (<= |student_version_#in~w| 29) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {57986#(or (<= |student_version_#in~w| 29) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:41:29,197 INFO L290 TraceCheckUtils]: 78: Hoare triple {57994#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {57990#(or (<= |student_version_#in~w| 29) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-08 10:41:29,197 INFO L290 TraceCheckUtils]: 77: Hoare triple {57994#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {57994#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,198 INFO L290 TraceCheckUtils]: 76: Hoare triple {58001#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {57994#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,198 INFO L290 TraceCheckUtils]: 75: Hoare triple {58001#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58001#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,199 INFO L290 TraceCheckUtils]: 74: Hoare triple {58008#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58001#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,199 INFO L290 TraceCheckUtils]: 73: Hoare triple {58008#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58008#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,199 INFO L290 TraceCheckUtils]: 72: Hoare triple {58015#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58008#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,200 INFO L290 TraceCheckUtils]: 71: Hoare triple {58015#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58015#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,200 INFO L290 TraceCheckUtils]: 70: Hoare triple {58022#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58015#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,201 INFO L290 TraceCheckUtils]: 69: Hoare triple {58022#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58022#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,201 INFO L290 TraceCheckUtils]: 68: Hoare triple {58029#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58022#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,201 INFO L290 TraceCheckUtils]: 67: Hoare triple {58029#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58029#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,202 INFO L290 TraceCheckUtils]: 66: Hoare triple {58036#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58029#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,202 INFO L290 TraceCheckUtils]: 65: Hoare triple {58036#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58036#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,203 INFO L290 TraceCheckUtils]: 64: Hoare triple {58043#(or (<= |student_version_#in~w| 29) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {58036#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,203 INFO L290 TraceCheckUtils]: 63: Hoare triple {58043#(or (<= |student_version_#in~w| 29) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {58043#(or (<= |student_version_#in~w| 29) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:41:29,203 INFO L290 TraceCheckUtils]: 62: Hoare triple {58050#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58043#(or (<= |student_version_#in~w| 29) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:41:29,204 INFO L290 TraceCheckUtils]: 61: Hoare triple {58050#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58050#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,204 INFO L290 TraceCheckUtils]: 60: Hoare triple {58057#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {58050#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,205 INFO L290 TraceCheckUtils]: 59: Hoare triple {58057#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {58057#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:41:29,205 INFO L290 TraceCheckUtils]: 58: Hoare triple {58064#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58057#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-08 10:41:29,205 INFO L290 TraceCheckUtils]: 57: Hoare triple {58064#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58064#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,206 INFO L290 TraceCheckUtils]: 56: Hoare triple {58071#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {58064#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,206 INFO L290 TraceCheckUtils]: 55: Hoare triple {58071#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {58071#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:41:29,207 INFO L290 TraceCheckUtils]: 54: Hoare triple {58078#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {58071#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-08 10:41:29,207 INFO L290 TraceCheckUtils]: 53: Hoare triple {58078#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {58078#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:41:29,207 INFO L290 TraceCheckUtils]: 52: Hoare triple {58085#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 29))} ~i~1 := 2 + ~i~1; {58078#(or (<= |student_version_#in~w| 29) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-08 10:41:29,208 INFO L290 TraceCheckUtils]: 51: Hoare triple {58085#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 29))} assume !!(~i~1 < ~w); {58085#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,208 INFO L290 TraceCheckUtils]: 50: Hoare triple {58092#(or (<= |student_version_#in~w| 29) (<= (+ 30 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {58085#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,209 INFO L290 TraceCheckUtils]: 49: Hoare triple {58092#(or (<= |student_version_#in~w| 29) (<= (+ 30 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {58092#(or (<= |student_version_#in~w| 29) (<= (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:41:29,209 INFO L290 TraceCheckUtils]: 48: Hoare triple {58099#(or (<= 30 student_version_~w) (<= |student_version_#in~w| 29))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {58092#(or (<= |student_version_#in~w| 29) (<= (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-08 10:41:29,209 INFO L290 TraceCheckUtils]: 47: Hoare triple {57539#true} ~w := #in~w;~is_divisible~1 := ~true~0; {58099#(or (<= 30 student_version_~w) (<= |student_version_#in~w| 29))} is VALID [2022-04-08 10:41:29,209 INFO L272 TraceCheckUtils]: 46: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:29,210 INFO L290 TraceCheckUtils]: 45: Hoare triple {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:29,211 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {57637#(<= 30 |correct_version_#in~w|)} {57539#true} #87#return; {57581#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 30) main_~w~0))} is VALID [2022-04-08 10:41:29,211 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:29,211 INFO L290 TraceCheckUtils]: 42: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} #res := ~is_divisible~0; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:29,212 INFO L290 TraceCheckUtils]: 41: Hoare triple {58121#(or (<= 30 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:29,212 INFO L290 TraceCheckUtils]: 40: Hoare triple {58121#(or (<= 30 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {58121#(or (<= 30 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:41:29,213 INFO L290 TraceCheckUtils]: 39: Hoare triple {58128#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58121#(or (<= 30 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-08 10:41:29,213 INFO L290 TraceCheckUtils]: 38: Hoare triple {58128#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58128#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,213 INFO L290 TraceCheckUtils]: 37: Hoare triple {58135#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {58128#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {58135#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {58135#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:41:29,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {58142#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {58135#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-08 10:41:29,214 INFO L290 TraceCheckUtils]: 34: Hoare triple {58142#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {58142#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:41:29,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {58149#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58142#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-08 10:41:29,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {58149#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58149#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,216 INFO L290 TraceCheckUtils]: 31: Hoare triple {58156#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58149#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,216 INFO L290 TraceCheckUtils]: 30: Hoare triple {58156#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58156#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,217 INFO L290 TraceCheckUtils]: 29: Hoare triple {58163#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {58156#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,217 INFO L290 TraceCheckUtils]: 28: Hoare triple {58163#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {58163#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:41:29,217 INFO L290 TraceCheckUtils]: 27: Hoare triple {58170#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {58163#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-08 10:41:29,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {58170#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {58170#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:41:29,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {58177#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {58170#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-08 10:41:29,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {58177#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {58177#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:41:29,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {58184#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {58177#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-08 10:41:29,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {58184#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {58184#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:41:29,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {58191#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58184#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-08 10:41:29,220 INFO L290 TraceCheckUtils]: 20: Hoare triple {58191#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58191#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {58198#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {58191#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {58198#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {58198#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:41:29,221 INFO L290 TraceCheckUtils]: 17: Hoare triple {58205#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {58198#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-08 10:41:29,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {58205#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {58205#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:41:29,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {58212#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58205#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-08 10:41:29,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {58212#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58212#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {58219#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58212#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {58219#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58219#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {58226#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 30 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {58219#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,224 INFO L290 TraceCheckUtils]: 10: Hoare triple {58226#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 30 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {58226#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {58233#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w 30))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {58226#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 30 |correct_version_#in~w|))} is VALID [2022-04-08 10:41:29,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {57539#true} ~w := #in~w;~is_divisible~0 := ~true~0; {58233#(or (<= 30 |correct_version_#in~w|) (< correct_version_~w 30))} is VALID [2022-04-08 10:41:29,225 INFO L272 TraceCheckUtils]: 7: Hoare triple {57539#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {57539#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {57539#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {57539#true} is VALID [2022-04-08 10:41:29,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {57539#true} call ULTIMATE.init(); {57539#true} is VALID [2022-04-08 10:41:29,226 INFO L134 CoverageAnalysis]: Checked inductivity of 450 backedges. 225 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:29,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1720685636] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:41:29,226 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:41:29,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 40, 40] total 111 [2022-04-08 10:41:29,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:41:29,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2145729817] [2022-04-08 10:41:29,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2145729817] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:41:29,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:41:29,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [41] imperfect sequences [] total 41 [2022-04-08 10:41:29,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [987475727] [2022-04-08 10:41:29,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:41:29,227 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 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 89 [2022-04-08 10:41:29,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:41:29,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:29,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:29,287 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-08 10:41:29,287 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:29,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-08 10:41:29,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1967, Invalid=10243, Unknown=0, NotChecked=0, Total=12210 [2022-04-08 10:41:29,288 INFO L87 Difference]: Start difference. First operand 101 states and 105 transitions. Second operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:32,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:32,556 INFO L93 Difference]: Finished difference Result 113 states and 118 transitions. [2022-04-08 10:41:32,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-04-08 10:41:32,556 INFO L78 Accepts]: Start accepts. Automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 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 89 [2022-04-08 10:41:32,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:41:32,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:32,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 113 transitions. [2022-04-08 10:41:32,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:32,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 113 transitions. [2022-04-08 10:41:32,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 113 transitions. [2022-04-08 10:41:32,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:32,654 INFO L225 Difference]: With dead ends: 113 [2022-04-08 10:41:32,654 INFO L226 Difference]: Without dead ends: 104 [2022-04-08 10:41:32,656 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 107 SyntacticMatches, 5 SemanticMatches, 147 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10091 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=3377, Invalid=18675, Unknown=0, NotChecked=0, Total=22052 [2022-04-08 10:41:32,656 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 126 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 542 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 127 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 592 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 542 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:41:32,656 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [127 Valid, 60 Invalid, 592 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 542 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:41:32,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-08 10:41:33,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-08 10:41:33,888 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:41:33,889 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:33,889 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:33,889 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:33,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:33,890 INFO L93 Difference]: Finished difference Result 104 states and 109 transitions. [2022-04-08 10:41:33,890 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-08 10:41:33,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:33,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:33,890 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 104 states. [2022-04-08 10:41:33,890 INFO L87 Difference]: Start difference. First operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 104 states. [2022-04-08 10:41:33,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:33,891 INFO L93 Difference]: Finished difference Result 104 states and 109 transitions. [2022-04-08 10:41:33,891 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-08 10:41:33,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:33,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:33,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:41:33,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:41:33,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 92 states have (on average 1.065217391304348) internal successors, (98), 94 states have internal predecessors, (98), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:33,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 109 transitions. [2022-04-08 10:41:33,893 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 109 transitions. Word has length 89 [2022-04-08 10:41:33,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:41:33,893 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 109 transitions. [2022-04-08 10:41:33,893 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 41 states, 41 states have (on average 1.975609756097561) internal successors, (81), 40 states have internal predecessors, (81), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:33,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 109 transitions. [2022-04-08 10:41:34,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:34,149 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-08 10:41:34,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 10:41:34,150 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:41:34,150 INFO L499 BasicCegarLoop]: trace histogram [16, 16, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:41:34,167 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Forceful destruction successful, exit code 0 [2022-04-08 10:41:34,350 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable61 [2022-04-08 10:41:34,350 INFO L403 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:41:34,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:41:34,351 INFO L85 PathProgramCache]: Analyzing trace with hash 982947093, now seen corresponding path program 57 times [2022-04-08 10:41:34,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:34,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [725160222] [2022-04-08 10:41:34,353 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:41:34,353 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:41:34,353 INFO L85 PathProgramCache]: Analyzing trace with hash 982947093, now seen corresponding path program 58 times [2022-04-08 10:41:34,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:41:34,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [145240746] [2022-04-08 10:41:34,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:41:34,354 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:41:34,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:34,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:41:34,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:34,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {59060#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {58978#true} is VALID [2022-04-08 10:41:34,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-08 10:41:34,409 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-08 10:41:34,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:41:34,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:34,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {58978#true} ~w := #in~w;~is_divisible~0 := ~true~0; {59061#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:34,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {59061#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,700 INFO L290 TraceCheckUtils]: 3: Hoare triple {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,700 INFO L290 TraceCheckUtils]: 4: Hoare triple {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,701 INFO L290 TraceCheckUtils]: 6: Hoare triple {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,702 INFO L290 TraceCheckUtils]: 7: Hoare triple {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:34,703 INFO L290 TraceCheckUtils]: 10: Hoare triple {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:34,703 INFO L290 TraceCheckUtils]: 11: Hoare triple {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,704 INFO L290 TraceCheckUtils]: 12: Hoare triple {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,704 INFO L290 TraceCheckUtils]: 13: Hoare triple {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,704 INFO L290 TraceCheckUtils]: 14: Hoare triple {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:34,705 INFO L290 TraceCheckUtils]: 16: Hoare triple {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:34,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:34,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:34,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,710 INFO L290 TraceCheckUtils]: 28: Hoare triple {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,711 INFO L290 TraceCheckUtils]: 30: Hoare triple {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,711 INFO L290 TraceCheckUtils]: 31: Hoare triple {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59077#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,712 INFO L290 TraceCheckUtils]: 32: Hoare triple {59077#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {59078#(and (<= correct_version_~w 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:34,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {59078#(and (<= correct_version_~w 30) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:34,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {59079#(<= |correct_version_#in~w| 30)} #res := ~is_divisible~0; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:34,713 INFO L290 TraceCheckUtils]: 35: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:34,713 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {59079#(<= |correct_version_#in~w| 30)} {58978#true} #87#return; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:34,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 10:41:34,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:35,045 INFO L290 TraceCheckUtils]: 0: Hoare triple {58978#true} ~w := #in~w;~is_divisible~1 := ~true~0; {59080#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:35,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {59080#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:35,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:35,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:41:35,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:41:35,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:41:35,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:41:35,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:41:35,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:41:35,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,052 INFO L290 TraceCheckUtils]: 16: Hoare triple {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,052 INFO L290 TraceCheckUtils]: 17: Hoare triple {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:41:35,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:41:35,055 INFO L290 TraceCheckUtils]: 23: Hoare triple {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59096#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:41:35,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {59096#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {59098#(<= 31 |student_version_#in~w|)} #res := ~is_divisible~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,060 INFO L290 TraceCheckUtils]: 37: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,061 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {59098#(<= 31 |student_version_#in~w|)} {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {58979#false} is VALID [2022-04-08 10:41:35,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {58978#true} call ULTIMATE.init(); {59060#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:41:35,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {59060#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {58978#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L272 TraceCheckUtils]: 7: Hoare triple {58978#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:35,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {58978#true} ~w := #in~w;~is_divisible~0 := ~true~0; {59061#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:35,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {59061#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,063 INFO L290 TraceCheckUtils]: 10: Hoare triple {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {59062#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,064 INFO L290 TraceCheckUtils]: 12: Hoare triple {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {59063#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,065 INFO L290 TraceCheckUtils]: 14: Hoare triple {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,065 INFO L290 TraceCheckUtils]: 15: Hoare triple {59064#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,066 INFO L290 TraceCheckUtils]: 16: Hoare triple {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,066 INFO L290 TraceCheckUtils]: 17: Hoare triple {59065#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:35,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:35,067 INFO L290 TraceCheckUtils]: 19: Hoare triple {59066#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {59067#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,068 INFO L290 TraceCheckUtils]: 22: Hoare triple {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,068 INFO L290 TraceCheckUtils]: 23: Hoare triple {59068#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:35,069 INFO L290 TraceCheckUtils]: 24: Hoare triple {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:35,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {59069#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,070 INFO L290 TraceCheckUtils]: 26: Hoare triple {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,070 INFO L290 TraceCheckUtils]: 27: Hoare triple {59070#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:35,070 INFO L290 TraceCheckUtils]: 28: Hoare triple {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:35,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {59071#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,072 INFO L290 TraceCheckUtils]: 31: Hoare triple {59072#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,072 INFO L290 TraceCheckUtils]: 32: Hoare triple {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,072 INFO L290 TraceCheckUtils]: 33: Hoare triple {59073#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,073 INFO L290 TraceCheckUtils]: 34: Hoare triple {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,073 INFO L290 TraceCheckUtils]: 35: Hoare triple {59074#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,074 INFO L290 TraceCheckUtils]: 36: Hoare triple {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,074 INFO L290 TraceCheckUtils]: 37: Hoare triple {59075#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,074 INFO L290 TraceCheckUtils]: 38: Hoare triple {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,075 INFO L290 TraceCheckUtils]: 39: Hoare triple {59076#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {59077#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,075 INFO L290 TraceCheckUtils]: 40: Hoare triple {59077#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {59078#(and (<= correct_version_~w 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:35,076 INFO L290 TraceCheckUtils]: 41: Hoare triple {59078#(and (<= correct_version_~w 30) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:35,076 INFO L290 TraceCheckUtils]: 42: Hoare triple {59079#(<= |correct_version_#in~w| 30)} #res := ~is_divisible~0; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:35,076 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:35,077 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {59079#(<= |correct_version_#in~w| 30)} {58978#true} #87#return; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:35,077 INFO L290 TraceCheckUtils]: 45: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:35,078 INFO L272 TraceCheckUtils]: 46: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:35,078 INFO L290 TraceCheckUtils]: 47: Hoare triple {58978#true} ~w := #in~w;~is_divisible~1 := ~true~0; {59080#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:35,078 INFO L290 TraceCheckUtils]: 48: Hoare triple {59080#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,078 INFO L290 TraceCheckUtils]: 49: Hoare triple {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,079 INFO L290 TraceCheckUtils]: 50: Hoare triple {59081#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,079 INFO L290 TraceCheckUtils]: 51: Hoare triple {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,080 INFO L290 TraceCheckUtils]: 52: Hoare triple {59082#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:35,080 INFO L290 TraceCheckUtils]: 53: Hoare triple {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:35,081 INFO L290 TraceCheckUtils]: 54: Hoare triple {59083#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:41:35,081 INFO L290 TraceCheckUtils]: 55: Hoare triple {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-08 10:41:35,081 INFO L290 TraceCheckUtils]: 56: Hoare triple {59084#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:41:35,082 INFO L290 TraceCheckUtils]: 57: Hoare triple {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-08 10:41:35,082 INFO L290 TraceCheckUtils]: 58: Hoare triple {59085#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,082 INFO L290 TraceCheckUtils]: 59: Hoare triple {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,083 INFO L290 TraceCheckUtils]: 60: Hoare triple {59086#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:41:35,083 INFO L290 TraceCheckUtils]: 61: Hoare triple {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-08 10:41:35,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {59087#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,084 INFO L290 TraceCheckUtils]: 64: Hoare triple {59088#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,085 INFO L290 TraceCheckUtils]: 65: Hoare triple {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,085 INFO L290 TraceCheckUtils]: 66: Hoare triple {59089#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,086 INFO L290 TraceCheckUtils]: 67: Hoare triple {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,086 INFO L290 TraceCheckUtils]: 68: Hoare triple {59090#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:41:35,086 INFO L290 TraceCheckUtils]: 69: Hoare triple {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-08 10:41:35,087 INFO L290 TraceCheckUtils]: 70: Hoare triple {59091#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,087 INFO L290 TraceCheckUtils]: 71: Hoare triple {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,088 INFO L290 TraceCheckUtils]: 72: Hoare triple {59092#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,088 INFO L290 TraceCheckUtils]: 73: Hoare triple {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,088 INFO L290 TraceCheckUtils]: 74: Hoare triple {59093#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,089 INFO L290 TraceCheckUtils]: 75: Hoare triple {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,089 INFO L290 TraceCheckUtils]: 76: Hoare triple {59094#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,090 INFO L290 TraceCheckUtils]: 77: Hoare triple {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,090 INFO L290 TraceCheckUtils]: 78: Hoare triple {59095#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59096#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-08 10:41:35,091 INFO L290 TraceCheckUtils]: 79: Hoare triple {59096#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,091 INFO L290 TraceCheckUtils]: 80: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,091 INFO L290 TraceCheckUtils]: 81: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:35,092 INFO L290 TraceCheckUtils]: 82: Hoare triple {59097#(and (<= 31 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,092 INFO L290 TraceCheckUtils]: 83: Hoare triple {59098#(<= 31 |student_version_#in~w|)} #res := ~is_divisible~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,092 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:35,093 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {59098#(<= 31 |student_version_#in~w|)} {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {58979#false} is VALID [2022-04-08 10:41:35,093 INFO L290 TraceCheckUtils]: 86: Hoare triple {58979#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {58979#false} is VALID [2022-04-08 10:41:35,093 INFO L272 TraceCheckUtils]: 87: Hoare triple {58979#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {58979#false} is VALID [2022-04-08 10:41:35,093 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-08 10:41:35,093 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-08 10:41:35,094 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-08 10:41:35,094 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 225 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:35,094 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:41:35,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [145240746] [2022-04-08 10:41:35,094 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [145240746] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:41:35,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [112505505] [2022-04-08 10:41:35,094 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:41:35,094 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:41:35,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:41:35,095 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:41:35,096 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2022-04-08 10:41:35,256 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:41:35,256 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:41:35,257 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 10:41:35,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:35,280 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:41:36,897 INFO L272 TraceCheckUtils]: 0: Hoare triple {58978#true} call ULTIMATE.init(); {58978#true} is VALID [2022-04-08 10:41:36,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {58978#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {58978#true} is VALID [2022-04-08 10:41:36,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-08 10:41:36,897 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-08 10:41:36,897 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-08 10:41:36,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {58978#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {58978#true} is VALID [2022-04-08 10:41:36,898 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-08 10:41:36,898 INFO L272 TraceCheckUtils]: 7: Hoare triple {58978#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:36,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {58978#true} ~w := #in~w;~is_divisible~0 := ~true~0; {59126#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:36,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {59126#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {59130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:41:36,899 INFO L290 TraceCheckUtils]: 10: Hoare triple {59130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {59130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-08 10:41:36,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {59130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {59137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:41:36,900 INFO L290 TraceCheckUtils]: 12: Hoare triple {59137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {59137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-08 10:41:36,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {59137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {59144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:41:36,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {59144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {59144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-08 10:41:36,901 INFO L290 TraceCheckUtils]: 15: Hoare triple {59144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {59151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:41:36,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {59151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {59151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-08 10:41:36,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {59151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {59158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:36,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {59158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {59158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-08 10:41:36,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {59158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {59165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:41:36,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {59165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {59165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-08 10:41:36,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {59165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {59172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:41:36,904 INFO L290 TraceCheckUtils]: 22: Hoare triple {59172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {59172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-08 10:41:36,904 INFO L290 TraceCheckUtils]: 23: Hoare triple {59172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {59179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:36,904 INFO L290 TraceCheckUtils]: 24: Hoare triple {59179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {59179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-08 10:41:36,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {59179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {59186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:41:36,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {59186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {59186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-08 10:41:36,906 INFO L290 TraceCheckUtils]: 27: Hoare triple {59186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {59193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:36,906 INFO L290 TraceCheckUtils]: 28: Hoare triple {59193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {59193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-08 10:41:36,907 INFO L290 TraceCheckUtils]: 29: Hoare triple {59193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {59200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:41:36,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {59200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {59200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-08 10:41:36,907 INFO L290 TraceCheckUtils]: 31: Hoare triple {59200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {59207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:41:36,908 INFO L290 TraceCheckUtils]: 32: Hoare triple {59207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {59207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-08 10:41:36,908 INFO L290 TraceCheckUtils]: 33: Hoare triple {59207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {59214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:41:36,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {59214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {59214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-08 10:41:36,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {59214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {59221#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:41:36,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {59221#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {59221#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-08 10:41:36,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {59221#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {59228#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:41:36,910 INFO L290 TraceCheckUtils]: 38: Hoare triple {59228#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {59228#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-08 10:41:36,911 INFO L290 TraceCheckUtils]: 39: Hoare triple {59228#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {59235#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-08 10:41:36,911 INFO L290 TraceCheckUtils]: 40: Hoare triple {59235#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !(~i~0 < ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:36,911 INFO L290 TraceCheckUtils]: 41: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume !(~i~0 != ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:36,912 INFO L290 TraceCheckUtils]: 42: Hoare triple {59079#(<= |correct_version_#in~w| 30)} #res := ~is_divisible~0; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:36,912 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:36,913 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {59079#(<= |correct_version_#in~w| 30)} {58978#true} #87#return; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:36,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:36,913 INFO L272 TraceCheckUtils]: 46: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:36,914 INFO L290 TraceCheckUtils]: 47: Hoare triple {58978#true} ~w := #in~w;~is_divisible~1 := ~true~0; {59260#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,914 INFO L290 TraceCheckUtils]: 48: Hoare triple {59260#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {59264#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,914 INFO L290 TraceCheckUtils]: 49: Hoare triple {59264#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59264#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,915 INFO L290 TraceCheckUtils]: 50: Hoare triple {59264#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59271#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,915 INFO L290 TraceCheckUtils]: 51: Hoare triple {59271#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59271#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,915 INFO L290 TraceCheckUtils]: 52: Hoare triple {59271#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59278#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:36,916 INFO L290 TraceCheckUtils]: 53: Hoare triple {59278#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {59278#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-08 10:41:36,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {59278#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {59285#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,917 INFO L290 TraceCheckUtils]: 55: Hoare triple {59285#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59285#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,917 INFO L290 TraceCheckUtils]: 56: Hoare triple {59285#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59292#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,917 INFO L290 TraceCheckUtils]: 57: Hoare triple {59292#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59292#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,918 INFO L290 TraceCheckUtils]: 58: Hoare triple {59292#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59299#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,918 INFO L290 TraceCheckUtils]: 59: Hoare triple {59299#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59299#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,919 INFO L290 TraceCheckUtils]: 60: Hoare triple {59299#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59306#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,919 INFO L290 TraceCheckUtils]: 61: Hoare triple {59306#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59306#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,919 INFO L290 TraceCheckUtils]: 62: Hoare triple {59306#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59313#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,920 INFO L290 TraceCheckUtils]: 63: Hoare triple {59313#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59313#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,920 INFO L290 TraceCheckUtils]: 64: Hoare triple {59313#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59320#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,921 INFO L290 TraceCheckUtils]: 65: Hoare triple {59320#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59320#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,921 INFO L290 TraceCheckUtils]: 66: Hoare triple {59320#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59327#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,921 INFO L290 TraceCheckUtils]: 67: Hoare triple {59327#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59327#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,922 INFO L290 TraceCheckUtils]: 68: Hoare triple {59327#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59334#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,922 INFO L290 TraceCheckUtils]: 69: Hoare triple {59334#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59334#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,923 INFO L290 TraceCheckUtils]: 70: Hoare triple {59334#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59341#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,923 INFO L290 TraceCheckUtils]: 71: Hoare triple {59341#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59341#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,924 INFO L290 TraceCheckUtils]: 72: Hoare triple {59341#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59348#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,924 INFO L290 TraceCheckUtils]: 73: Hoare triple {59348#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59348#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,924 INFO L290 TraceCheckUtils]: 74: Hoare triple {59348#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59355#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,925 INFO L290 TraceCheckUtils]: 75: Hoare triple {59355#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59355#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,925 INFO L290 TraceCheckUtils]: 76: Hoare triple {59355#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59362#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,926 INFO L290 TraceCheckUtils]: 77: Hoare triple {59362#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59362#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,926 INFO L290 TraceCheckUtils]: 78: Hoare triple {59362#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59369#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-08 10:41:36,926 INFO L290 TraceCheckUtils]: 79: Hoare triple {59369#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,927 INFO L290 TraceCheckUtils]: 80: Hoare triple {59098#(<= 31 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,927 INFO L290 TraceCheckUtils]: 81: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume !(~i~1 < ~w); {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,927 INFO L290 TraceCheckUtils]: 82: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,927 INFO L290 TraceCheckUtils]: 83: Hoare triple {59098#(<= 31 |student_version_#in~w|)} #res := ~is_divisible~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,928 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:36,929 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {59098#(<= 31 |student_version_#in~w|)} {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L290 TraceCheckUtils]: 86: Hoare triple {58979#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L272 TraceCheckUtils]: 87: Hoare triple {58979#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-08 10:41:36,929 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 225 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:36,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:41:42,592 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-08 10:41:42,592 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-08 10:41:42,593 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-08 10:41:42,593 INFO L272 TraceCheckUtils]: 87: Hoare triple {58979#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {58979#false} is VALID [2022-04-08 10:41:42,593 INFO L290 TraceCheckUtils]: 86: Hoare triple {58979#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {58979#false} is VALID [2022-04-08 10:41:42,594 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {59098#(<= 31 |student_version_#in~w|)} {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {58979#false} is VALID [2022-04-08 10:41:42,594 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,594 INFO L290 TraceCheckUtils]: 83: Hoare triple {59098#(<= 31 |student_version_#in~w|)} #res := ~is_divisible~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,594 INFO L290 TraceCheckUtils]: 82: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,595 INFO L290 TraceCheckUtils]: 81: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume !(~i~1 < ~w); {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,595 INFO L290 TraceCheckUtils]: 80: Hoare triple {59098#(<= 31 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,595 INFO L290 TraceCheckUtils]: 79: Hoare triple {59442#(or (not (< student_version_~i~1 student_version_~w)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-08 10:41:42,596 INFO L290 TraceCheckUtils]: 78: Hoare triple {59446#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59442#(or (not (< student_version_~i~1 student_version_~w)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,596 INFO L290 TraceCheckUtils]: 77: Hoare triple {59446#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59446#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,597 INFO L290 TraceCheckUtils]: 76: Hoare triple {59453#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59446#(or (<= student_version_~w (+ 2 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,597 INFO L290 TraceCheckUtils]: 75: Hoare triple {59453#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59453#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,597 INFO L290 TraceCheckUtils]: 74: Hoare triple {59460#(or (<= student_version_~w (+ 6 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59453#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,598 INFO L290 TraceCheckUtils]: 73: Hoare triple {59460#(or (<= student_version_~w (+ 6 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59460#(or (<= student_version_~w (+ 6 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,598 INFO L290 TraceCheckUtils]: 72: Hoare triple {59467#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59460#(or (<= student_version_~w (+ 6 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,599 INFO L290 TraceCheckUtils]: 71: Hoare triple {59467#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59467#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,599 INFO L290 TraceCheckUtils]: 70: Hoare triple {59474#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59467#(or (<= student_version_~w (+ student_version_~i~1 8)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,600 INFO L290 TraceCheckUtils]: 69: Hoare triple {59474#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59474#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,600 INFO L290 TraceCheckUtils]: 68: Hoare triple {59481#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59474#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,600 INFO L290 TraceCheckUtils]: 67: Hoare triple {59481#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59481#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,601 INFO L290 TraceCheckUtils]: 66: Hoare triple {59488#(or (<= student_version_~w (+ 14 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59481#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,601 INFO L290 TraceCheckUtils]: 65: Hoare triple {59488#(or (<= student_version_~w (+ 14 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59488#(or (<= student_version_~w (+ 14 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,602 INFO L290 TraceCheckUtils]: 64: Hoare triple {59495#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59488#(or (<= student_version_~w (+ 14 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,602 INFO L290 TraceCheckUtils]: 63: Hoare triple {59495#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59495#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,602 INFO L290 TraceCheckUtils]: 62: Hoare triple {59502#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59495#(or (<= student_version_~w (+ 16 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,603 INFO L290 TraceCheckUtils]: 61: Hoare triple {59502#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59502#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,603 INFO L290 TraceCheckUtils]: 60: Hoare triple {59509#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59502#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,604 INFO L290 TraceCheckUtils]: 59: Hoare triple {59509#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59509#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,604 INFO L290 TraceCheckUtils]: 58: Hoare triple {59516#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59509#(or (<= student_version_~w (+ student_version_~i~1 20)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,604 INFO L290 TraceCheckUtils]: 57: Hoare triple {59516#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59516#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,605 INFO L290 TraceCheckUtils]: 56: Hoare triple {59523#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59516#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,605 INFO L290 TraceCheckUtils]: 55: Hoare triple {59523#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59523#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,606 INFO L290 TraceCheckUtils]: 54: Hoare triple {59530#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59523#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,606 INFO L290 TraceCheckUtils]: 53: Hoare triple {59530#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59530#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,607 INFO L290 TraceCheckUtils]: 52: Hoare triple {59537#(or (<= student_version_~w (+ student_version_~i~1 28)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59530#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,607 INFO L290 TraceCheckUtils]: 51: Hoare triple {59537#(or (<= student_version_~w (+ student_version_~i~1 28)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59537#(or (<= student_version_~w (+ student_version_~i~1 28)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,607 INFO L290 TraceCheckUtils]: 50: Hoare triple {59544#(or (<= student_version_~w (+ 30 student_version_~i~1)) (<= 31 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {59537#(or (<= student_version_~w (+ student_version_~i~1 28)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,608 INFO L290 TraceCheckUtils]: 49: Hoare triple {59544#(or (<= student_version_~w (+ 30 student_version_~i~1)) (<= 31 |student_version_#in~w|))} assume !!(~i~1 < ~w); {59544#(or (<= student_version_~w (+ 30 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,608 INFO L290 TraceCheckUtils]: 48: Hoare triple {59551#(or (<= student_version_~w 30) (<= 31 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {59544#(or (<= student_version_~w (+ 30 student_version_~i~1)) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,608 INFO L290 TraceCheckUtils]: 47: Hoare triple {58978#true} ~w := #in~w;~is_divisible~1 := ~true~0; {59551#(or (<= student_version_~w 30) (<= 31 |student_version_#in~w|))} is VALID [2022-04-08 10:41:42,609 INFO L272 TraceCheckUtils]: 46: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:42,609 INFO L290 TraceCheckUtils]: 45: Hoare triple {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:42,610 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {59079#(<= |correct_version_#in~w| 30)} {58978#true} #87#return; {59020#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 30)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-08 10:41:42,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:42,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {59079#(<= |correct_version_#in~w| 30)} #res := ~is_divisible~0; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:42,611 INFO L290 TraceCheckUtils]: 41: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume !(~i~0 != ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:42,611 INFO L290 TraceCheckUtils]: 40: Hoare triple {59576#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 30))} assume !(~i~0 < ~w); {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-08 10:41:42,611 INFO L290 TraceCheckUtils]: 39: Hoare triple {59580#(or (<= |correct_version_#in~w| 30) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {59576#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,612 INFO L290 TraceCheckUtils]: 38: Hoare triple {59580#(or (<= |correct_version_#in~w| 30) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {59580#(or (<= |correct_version_#in~w| 30) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:41:42,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {59587#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59580#(or (<= |correct_version_#in~w| 30) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-08 10:41:42,613 INFO L290 TraceCheckUtils]: 36: Hoare triple {59587#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59587#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {59594#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59587#(or (< (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {59594#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59594#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {59601#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59594#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {59601#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59601#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,615 INFO L290 TraceCheckUtils]: 31: Hoare triple {59608#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59601#(or (< (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,615 INFO L290 TraceCheckUtils]: 30: Hoare triple {59608#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59608#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,615 INFO L290 TraceCheckUtils]: 29: Hoare triple {59615#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59608#(or (< (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,616 INFO L290 TraceCheckUtils]: 28: Hoare triple {59615#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59615#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {59622#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59615#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,616 INFO L290 TraceCheckUtils]: 26: Hoare triple {59622#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59622#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {59629#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59622#(or (< (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,617 INFO L290 TraceCheckUtils]: 24: Hoare triple {59629#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59629#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {59636#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59629#(or (< (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,618 INFO L290 TraceCheckUtils]: 22: Hoare triple {59636#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59636#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,618 INFO L290 TraceCheckUtils]: 21: Hoare triple {59643#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59636#(or (< (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {59643#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59643#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {59650#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59643#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {59650#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59650#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {59657#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59650#(or (< (+ correct_version_~i~0 22) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {59657#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59657#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,621 INFO L290 TraceCheckUtils]: 15: Hoare triple {59664#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59657#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,621 INFO L290 TraceCheckUtils]: 14: Hoare triple {59664#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59664#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,622 INFO L290 TraceCheckUtils]: 13: Hoare triple {59671#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59664#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {59671#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59671#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,622 INFO L290 TraceCheckUtils]: 11: Hoare triple {59678#(or (< (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 30))} ~i~0 := 2 + ~i~0; {59671#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,623 INFO L290 TraceCheckUtils]: 10: Hoare triple {59678#(or (< (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 30))} assume !!(~i~0 < ~w); {59678#(or (< (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {59685#(or (< 30 correct_version_~w) (<= |correct_version_#in~w| 30))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {59678#(or (< (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {58978#true} ~w := #in~w;~is_divisible~0 := ~true~0; {59685#(or (< 30 correct_version_~w) (<= |correct_version_#in~w| 30))} is VALID [2022-04-08 10:41:42,623 INFO L272 TraceCheckUtils]: 7: Hoare triple {58978#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {58978#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {58978#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L272 TraceCheckUtils]: 0: Hoare triple {58978#true} call ULTIMATE.init(); {58978#true} is VALID [2022-04-08 10:41:42,624 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 256 proven. 225 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:42,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [112505505] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:41:42,624 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-08 10:41:42,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 39, 39] total 110 [2022-04-08 10:41:42,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:41:42,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [725160222] [2022-04-08 10:41:42,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [725160222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:41:42,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:41:42,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [42] imperfect sequences [] total 42 [2022-04-08 10:41:42,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909570752] [2022-04-08 10:41:42,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:41:42,625 INFO L78 Accepts]: Start accepts. Automaton has has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 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 91 [2022-04-08 10:41:42,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:41:42,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:42,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:42,691 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 42 states [2022-04-08 10:41:42,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:42,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-04-08 10:41:42,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1993, Invalid=9997, Unknown=0, NotChecked=0, Total=11990 [2022-04-08 10:41:42,693 INFO L87 Difference]: Start difference. First operand 104 states and 109 transitions. Second operand has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:46,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:46,048 INFO L93 Difference]: Finished difference Result 119 states and 124 transitions. [2022-04-08 10:41:46,048 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-08 10:41:46,049 INFO L78 Accepts]: Start accepts. Automaton has has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 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 91 [2022-04-08 10:41:46,049 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:41:46,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:46,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 116 transitions. [2022-04-08 10:41:46,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:46,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 116 transitions. [2022-04-08 10:41:46,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 116 transitions. [2022-04-08 10:41:46,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:46,166 INFO L225 Difference]: With dead ends: 119 [2022-04-08 10:41:46,166 INFO L226 Difference]: Without dead ends: 107 [2022-04-08 10:41:46,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 263 GetRequests, 113 SyntacticMatches, 5 SemanticMatches, 145 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9999 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=3390, Invalid=18072, Unknown=0, NotChecked=0, Total=21462 [2022-04-08 10:41:46,167 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 103 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 646 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 691 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 646 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 10:41:46,167 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [106 Valid, 67 Invalid, 691 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 646 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 10:41:46,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-08 10:41:47,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 103. [2022-04-08 10:41:47,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:41:47,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:47,363 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:47,363 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:47,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:47,364 INFO L93 Difference]: Finished difference Result 107 states and 111 transitions. [2022-04-08 10:41:47,364 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 111 transitions. [2022-04-08 10:41:47,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:47,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:47,365 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 107 states. [2022-04-08 10:41:47,365 INFO L87 Difference]: Start difference. First operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 107 states. [2022-04-08 10:41:47,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:41:47,366 INFO L93 Difference]: Finished difference Result 107 states and 111 transitions. [2022-04-08 10:41:47,366 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 111 transitions. [2022-04-08 10:41:47,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:41:47,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:41:47,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:41:47,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:41:47,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 91 states have (on average 1.054945054945055) internal successors, (96), 93 states have internal predecessors, (96), 6 states have call successors, (6), 5 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 10:41:47,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 107 transitions. [2022-04-08 10:41:47,368 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 107 transitions. Word has length 91 [2022-04-08 10:41:47,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:41:47,368 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 107 transitions. [2022-04-08 10:41:47,369 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 42 states, 42 states have (on average 1.9761904761904763) internal successors, (83), 41 states have internal predecessors, (83), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:41:47,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 107 transitions. [2022-04-08 10:41:47,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:41:47,658 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-08 10:41:47,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 10:41:47,659 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:41:47,659 INFO L499 BasicCegarLoop]: trace histogram [16, 16, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:41:47,675 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Forceful destruction successful, exit code 0 [2022-04-08 10:41:47,867 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable62 [2022-04-08 10:41:47,867 INFO L403 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:41:47,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:41:47,868 INFO L85 PathProgramCache]: Analyzing trace with hash -538831371, now seen corresponding path program 57 times [2022-04-08 10:41:47,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:41:47,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1679721949] [2022-04-08 10:41:47,870 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:41:47,870 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:41:47,870 INFO L85 PathProgramCache]: Analyzing trace with hash -538831371, now seen corresponding path program 58 times [2022-04-08 10:41:47,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:41:47,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775015068] [2022-04-08 10:41:47,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:41:47,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:41:47,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:47,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:41:47,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:47,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {60526#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {60444#true} is VALID [2022-04-08 10:41:47,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-08 10:41:47,918 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-08 10:41:47,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-08 10:41:47,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:48,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {60444#true} ~w := #in~w;~is_divisible~0 := ~true~0; {60527#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:48,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {60527#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,197 INFO L290 TraceCheckUtils]: 4: Hoare triple {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,198 INFO L290 TraceCheckUtils]: 6: Hoare triple {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,200 INFO L290 TraceCheckUtils]: 10: Hoare triple {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,202 INFO L290 TraceCheckUtils]: 17: Hoare triple {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,208 INFO L290 TraceCheckUtils]: 31: Hoare triple {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60543#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,209 INFO L290 TraceCheckUtils]: 32: Hoare triple {60543#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} ~i~0 := 2 + ~i~0; {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,209 INFO L290 TraceCheckUtils]: 34: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} assume !(~i~0 < ~w); {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} #res := ~is_divisible~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,210 INFO L290 TraceCheckUtils]: 37: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,211 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {60545#(<= 31 |correct_version_#in~w|)} {60444#true} #87#return; {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} is VALID [2022-04-08 10:41:48,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-08 10:41:48,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:48,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {60444#true} ~w := #in~w;~is_divisible~1 := ~true~0; {60546#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:48,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {60546#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:48,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:48,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,639 INFO L290 TraceCheckUtils]: 7: Hoare triple {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:48,639 INFO L290 TraceCheckUtils]: 8: Hoare triple {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:48,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,640 INFO L290 TraceCheckUtils]: 10: Hoare triple {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,640 INFO L290 TraceCheckUtils]: 11: Hoare triple {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:48,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:48,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:48,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:48,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:48,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:48,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:48,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:48,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:48,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:48,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:48,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:48,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,658 INFO L290 TraceCheckUtils]: 28: Hoare triple {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,658 INFO L290 TraceCheckUtils]: 29: Hoare triple {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,658 INFO L290 TraceCheckUtils]: 30: Hoare triple {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60562#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-08 10:41:48,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {60562#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !(~i~1 < ~w); {60563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 30))} is VALID [2022-04-08 10:41:48,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {60563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 30))} assume !(~i~1 != ~w); {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {60564#(<= |student_version_#in~w| 30)} #res := ~is_divisible~1; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,660 INFO L290 TraceCheckUtils]: 35: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,661 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {60564#(<= |student_version_#in~w| 30)} {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} #89#return; {60445#false} is VALID [2022-04-08 10:41:48,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {60444#true} call ULTIMATE.init(); {60526#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:41:48,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {60526#(and (= ~false~0 |old(~false~0)|) (= |old(~true~0)| ~true~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {60444#true} call #t~ret7 := main(); {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {60444#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {60444#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L272 TraceCheckUtils]: 7: Hoare triple {60444#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {60444#true} is VALID [2022-04-08 10:41:48,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {60444#true} ~w := #in~w;~is_divisible~0 := ~true~0; {60527#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-08 10:41:48,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {60527#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,663 INFO L290 TraceCheckUtils]: 10: Hoare triple {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {60528#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {60529#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {60530#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {60531#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,666 INFO L290 TraceCheckUtils]: 18: Hoare triple {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,667 INFO L290 TraceCheckUtils]: 19: Hoare triple {60532#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {60533#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,668 INFO L290 TraceCheckUtils]: 23: Hoare triple {60534#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {60535#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,670 INFO L290 TraceCheckUtils]: 27: Hoare triple {60536#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,671 INFO L290 TraceCheckUtils]: 29: Hoare triple {60537#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {60538#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,672 INFO L290 TraceCheckUtils]: 32: Hoare triple {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,672 INFO L290 TraceCheckUtils]: 33: Hoare triple {60539#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,673 INFO L290 TraceCheckUtils]: 35: Hoare triple {60540#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,674 INFO L290 TraceCheckUtils]: 37: Hoare triple {60541#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:48,675 INFO L290 TraceCheckUtils]: 39: Hoare triple {60542#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60543#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-08 10:41:48,675 INFO L290 TraceCheckUtils]: 40: Hoare triple {60543#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,675 INFO L290 TraceCheckUtils]: 41: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} ~i~0 := 2 + ~i~0; {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} assume !(~i~0 < ~w); {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} is VALID [2022-04-08 10:41:48,676 INFO L290 TraceCheckUtils]: 43: Hoare triple {60544#(and (= |correct_version_#in~w| correct_version_~w) (<= 31 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} #res := ~is_divisible~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,677 INFO L290 TraceCheckUtils]: 45: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:48,678 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {60545#(<= 31 |correct_version_#in~w|)} {60444#true} #87#return; {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} is VALID [2022-04-08 10:41:48,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} is VALID [2022-04-08 10:41:48,678 INFO L272 TraceCheckUtils]: 48: Hoare triple {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {60444#true} is VALID [2022-04-08 10:41:48,678 INFO L290 TraceCheckUtils]: 49: Hoare triple {60444#true} ~w := #in~w;~is_divisible~1 := ~true~0; {60546#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:48,679 INFO L290 TraceCheckUtils]: 50: Hoare triple {60546#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:48,679 INFO L290 TraceCheckUtils]: 51: Hoare triple {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:48,680 INFO L290 TraceCheckUtils]: 52: Hoare triple {60547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,680 INFO L290 TraceCheckUtils]: 53: Hoare triple {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,680 INFO L290 TraceCheckUtils]: 54: Hoare triple {60548#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,681 INFO L290 TraceCheckUtils]: 55: Hoare triple {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,681 INFO L290 TraceCheckUtils]: 56: Hoare triple {60549#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:48,682 INFO L290 TraceCheckUtils]: 57: Hoare triple {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:48,682 INFO L290 TraceCheckUtils]: 58: Hoare triple {60550#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,682 INFO L290 TraceCheckUtils]: 59: Hoare triple {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,683 INFO L290 TraceCheckUtils]: 60: Hoare triple {60551#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:48,683 INFO L290 TraceCheckUtils]: 61: Hoare triple {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:48,684 INFO L290 TraceCheckUtils]: 62: Hoare triple {60552#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,684 INFO L290 TraceCheckUtils]: 63: Hoare triple {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,684 INFO L290 TraceCheckUtils]: 64: Hoare triple {60553#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:48,685 INFO L290 TraceCheckUtils]: 65: Hoare triple {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:48,685 INFO L290 TraceCheckUtils]: 66: Hoare triple {60554#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:48,685 INFO L290 TraceCheckUtils]: 67: Hoare triple {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:48,686 INFO L290 TraceCheckUtils]: 68: Hoare triple {60555#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:48,686 INFO L290 TraceCheckUtils]: 69: Hoare triple {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:48,687 INFO L290 TraceCheckUtils]: 70: Hoare triple {60556#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,687 INFO L290 TraceCheckUtils]: 71: Hoare triple {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,687 INFO L290 TraceCheckUtils]: 72: Hoare triple {60557#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:48,688 INFO L290 TraceCheckUtils]: 73: Hoare triple {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:48,688 INFO L290 TraceCheckUtils]: 74: Hoare triple {60558#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:48,689 INFO L290 TraceCheckUtils]: 75: Hoare triple {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:48,689 INFO L290 TraceCheckUtils]: 76: Hoare triple {60559#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,689 INFO L290 TraceCheckUtils]: 77: Hoare triple {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,690 INFO L290 TraceCheckUtils]: 78: Hoare triple {60560#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,690 INFO L290 TraceCheckUtils]: 79: Hoare triple {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-08 10:41:48,691 INFO L290 TraceCheckUtils]: 80: Hoare triple {60561#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {60562#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-08 10:41:48,691 INFO L290 TraceCheckUtils]: 81: Hoare triple {60562#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !(~i~1 < ~w); {60563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 30))} is VALID [2022-04-08 10:41:48,691 INFO L290 TraceCheckUtils]: 82: Hoare triple {60563#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~w 30))} assume !(~i~1 != ~w); {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,692 INFO L290 TraceCheckUtils]: 83: Hoare triple {60564#(<= |student_version_#in~w| 30)} #res := ~is_divisible~1; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,692 INFO L290 TraceCheckUtils]: 84: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:48,693 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {60564#(<= |student_version_#in~w| 30)} {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} #89#return; {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L290 TraceCheckUtils]: 86: Hoare triple {60445#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L272 TraceCheckUtils]: 87: Hoare triple {60445#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L290 TraceCheckUtils]: 88: Hoare triple {60445#false} ~cond := #in~cond; {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L290 TraceCheckUtils]: 89: Hoare triple {60445#false} assume 0 == ~cond; {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L290 TraceCheckUtils]: 90: Hoare triple {60445#false} assume !false; {60445#false} is VALID [2022-04-08 10:41:48,693 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 225 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:48,693 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:41:48,693 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1775015068] [2022-04-08 10:41:48,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1775015068] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:41:48,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1642906206] [2022-04-08 10:41:48,694 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:41:48,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:41:48,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:41:48,695 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:41:48,695 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2022-04-08 10:41:48,856 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:41:48,856 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:41:48,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 10:41:48,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:41:48,878 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:41:50,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {60444#true} call ULTIMATE.init(); {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {60444#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~true~0 := 1;~false~0 := 0; {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {60444#true} call #t~ret7 := main(); {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {60444#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {60444#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {60444#true} is VALID [2022-04-08 10:41:50,675 INFO L272 TraceCheckUtils]: 7: Hoare triple {60444#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {60444#true} is VALID [2022-04-08 10:41:50,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {60444#true} ~w := #in~w;~is_divisible~0 := ~true~0; {60592#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {60592#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {60596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,676 INFO L290 TraceCheckUtils]: 10: Hoare triple {60596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {60596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {60596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,677 INFO L290 TraceCheckUtils]: 12: Hoare triple {60603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {60603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {60603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {60610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {60610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {60610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60617#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:50,679 INFO L290 TraceCheckUtils]: 16: Hoare triple {60617#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {60617#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:50,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {60617#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {60624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {60624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {60624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {60624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60631#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:50,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {60631#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {60631#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-08 10:41:50,681 INFO L290 TraceCheckUtils]: 21: Hoare triple {60631#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {60638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,681 INFO L290 TraceCheckUtils]: 22: Hoare triple {60638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {60638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,682 INFO L290 TraceCheckUtils]: 23: Hoare triple {60638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,682 INFO L290 TraceCheckUtils]: 24: Hoare triple {60645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {60645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {60645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,683 INFO L290 TraceCheckUtils]: 26: Hoare triple {60652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {60652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,683 INFO L290 TraceCheckUtils]: 27: Hoare triple {60652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {60659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {60659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,684 INFO L290 TraceCheckUtils]: 29: Hoare triple {60659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {60666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {60666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {60666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60673#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {60673#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {60673#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {60673#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60680#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {60680#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {60680#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,687 INFO L290 TraceCheckUtils]: 35: Hoare triple {60680#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60687#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,687 INFO L290 TraceCheckUtils]: 36: Hoare triple {60687#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {60687#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,688 INFO L290 TraceCheckUtils]: 37: Hoare triple {60687#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60694#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,688 INFO L290 TraceCheckUtils]: 38: Hoare triple {60694#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {60694#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,688 INFO L290 TraceCheckUtils]: 39: Hoare triple {60694#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {60701#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-08 10:41:50,689 INFO L290 TraceCheckUtils]: 40: Hoare triple {60701#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !!(~i~0 < ~w); {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,689 INFO L290 TraceCheckUtils]: 42: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume !(~i~0 < ~w); {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,690 INFO L290 TraceCheckUtils]: 44: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} #res := ~is_divisible~0; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,690 INFO L290 TraceCheckUtils]: 45: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-08 10:41:50,691 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {60545#(<= 31 |correct_version_#in~w|)} {60444#true} #87#return; {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} is VALID [2022-04-08 10:41:50,692 INFO L290 TraceCheckUtils]: 47: Hoare triple {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} is VALID [2022-04-08 10:41:50,692 INFO L272 TraceCheckUtils]: 48: Hoare triple {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {60444#true} is VALID [2022-04-08 10:41:50,692 INFO L290 TraceCheckUtils]: 49: Hoare triple {60444#true} ~w := #in~w;~is_divisible~1 := ~true~0; {60732#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-08 10:41:50,692 INFO L290 TraceCheckUtils]: 50: Hoare triple {60732#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {60736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:50,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {60736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {60736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-08 10:41:50,693 INFO L290 TraceCheckUtils]: 52: Hoare triple {60736#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {60743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:41:50,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {60743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {60743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-08 10:41:50,694 INFO L290 TraceCheckUtils]: 54: Hoare triple {60743#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {60750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:41:50,694 INFO L290 TraceCheckUtils]: 55: Hoare triple {60750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {60750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-08 10:41:50,695 INFO L290 TraceCheckUtils]: 56: Hoare triple {60750#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {60757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:50,695 INFO L290 TraceCheckUtils]: 57: Hoare triple {60757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {60757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-08 10:41:50,696 INFO L290 TraceCheckUtils]: 58: Hoare triple {60757#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {60764#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:41:50,696 INFO L290 TraceCheckUtils]: 59: Hoare triple {60764#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {60764#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-08 10:41:50,696 INFO L290 TraceCheckUtils]: 60: Hoare triple {60764#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {60771#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:50,697 INFO L290 TraceCheckUtils]: 61: Hoare triple {60771#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {60771#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-08 10:41:50,697 INFO L290 TraceCheckUtils]: 62: Hoare triple {60771#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {60778#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:41:50,697 INFO L290 TraceCheckUtils]: 63: Hoare triple {60778#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {60778#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-08 10:41:50,698 INFO L290 TraceCheckUtils]: 64: Hoare triple {60778#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {60785#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:50,698 INFO L290 TraceCheckUtils]: 65: Hoare triple {60785#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {60785#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-08 10:41:50,699 INFO L290 TraceCheckUtils]: 66: Hoare triple {60785#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {60792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:50,699 INFO L290 TraceCheckUtils]: 67: Hoare triple {60792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {60792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-08 10:41:50,700 INFO L290 TraceCheckUtils]: 68: Hoare triple {60792#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {60799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:50,700 INFO L290 TraceCheckUtils]: 69: Hoare triple {60799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {60799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-08 10:41:50,700 INFO L290 TraceCheckUtils]: 70: Hoare triple {60799#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {60806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:41:50,701 INFO L290 TraceCheckUtils]: 71: Hoare triple {60806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {60806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-08 10:41:50,701 INFO L290 TraceCheckUtils]: 72: Hoare triple {60806#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {60813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:50,702 INFO L290 TraceCheckUtils]: 73: Hoare triple {60813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {60813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-08 10:41:50,702 INFO L290 TraceCheckUtils]: 74: Hoare triple {60813#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {60820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:50,702 INFO L290 TraceCheckUtils]: 75: Hoare triple {60820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {60820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-08 10:41:50,703 INFO L290 TraceCheckUtils]: 76: Hoare triple {60820#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {60827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:41:50,703 INFO L290 TraceCheckUtils]: 77: Hoare triple {60827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {60827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-08 10:41:50,704 INFO L290 TraceCheckUtils]: 78: Hoare triple {60827#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {60834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:41:50,704 INFO L290 TraceCheckUtils]: 79: Hoare triple {60834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {60834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-08 10:41:50,704 INFO L290 TraceCheckUtils]: 80: Hoare triple {60834#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {60841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-08 10:41:50,705 INFO L290 TraceCheckUtils]: 81: Hoare triple {60841#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !(~i~1 < ~w); {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:50,705 INFO L290 TraceCheckUtils]: 82: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume !(~i~1 != ~w); {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:50,705 INFO L290 TraceCheckUtils]: 83: Hoare triple {60564#(<= |student_version_#in~w| 30)} #res := ~is_divisible~1; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:50,706 INFO L290 TraceCheckUtils]: 84: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-08 10:41:50,706 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {60564#(<= |student_version_#in~w| 30)} {60488#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 31) main_~w~0))} #89#return; {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L290 TraceCheckUtils]: 86: Hoare triple {60445#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L272 TraceCheckUtils]: 87: Hoare triple {60445#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L290 TraceCheckUtils]: 88: Hoare triple {60445#false} ~cond := #in~cond; {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L290 TraceCheckUtils]: 89: Hoare triple {60445#false} assume 0 == ~cond; {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L290 TraceCheckUtils]: 90: Hoare triple {60445#false} assume !false; {60445#false} is VALID [2022-04-08 10:41:50,707 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 225 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:41:50,707 INFO L328 TraceCheckSpWp]: Computing backward predicates...